I have been having this weird problem with Xcode 4.3.2, of course after the recent update.
After successfully building and running on the simulator several times, xc
Besides a restart, there is one other way I've managed to get around this:
Let's say your app hangs, go to the targets selector in the top of the Xcode window and change your sim target to a new SDK (or if you don't have another SDK, change it to a universal app and run on the opposite device simulator).
Then, when your app loads on the new device/OS completely, quit the sim, change your targets back, et voilà!