Whats on my PC is the bottleneck thats causing animation to play so slowly?

Hello.
You follow the steps that have already been recommended to you to optimize the scene. Still, Blender performance for viewport animation is not good at all, there is still a lot to improve.
Next time maybe you should better use low polygon quad meshes to take advantage of OpenSubdiv hardware acceleration which is still in development (Subdivision modifier needs to be to the last of the stack):