There is actually two ways that XNA can execute the game loop, Fixed Step and Variable Step. When you setup your game to run Fixed Step, it will consistently call the Update method based on the targeted elapsed game time. So no matter how fast your computer may be, it will always call the Update method at the same elapsed game time interval, so Update and Draw will get called in succession as you described. However, if your game happens to be running slowly, XNA will begin to call the Update method multiple times before the Draw method, in order to "catch up".
Variable Step on the other hand does not attempt to "keep up", or make multiple Update method calls before the Draw method call, if the game is running slowly.
EDIT: Nice form post that explains Fixed Step and Variable Step is much more depth. gamedev.net
Mirror link for Understanding GameTime - Shawn Hargreaves Blog