XNA is somewhat peculiar when it comes to the speed of the main loop.
The loop is divided in two : handling of the game, and display.
If one of the two takes more than the necesary time (for example 20ms for a 50hrz game), the next time, XNA will only call the handling routines and not the display routines to fall back.
Although it is a good idea, it makes the game completely collapse when it is just a little too slow, and then you get a 1 fps animation rate.
I suggest you reduce the speed of the game in the properties of the application until it works again. Proceed by trying each new frequency... FOr example, if you start at 50, try 40. If it is back to normal at 40, try 45. If you have lag at 45, try 42 etc... Choose the highest frame rate that gives a good animation.