Recently, TUAW has received numerous tips about near random iPhone boot loops that force users to restore their units. This forum thread suggests that these reboots may be due to the iPhone's onboard watchdog system.
The iPhone has to create a new Application Map whenever you load or unload apps to the system. Should the time to create that map exceed two minutes, the phone enters an endless boot cycle.
The solution proposed on the thread isn't of much general use -- it requires jailbroken shell access. You may want to limit the number and scope of Apps you load to your phone (i.e. cut down on those tip calculators and sudoku apps that we know you're secretly addicted to) to achieve the same, stable results.
Fewer apps mean a shorter time to generate that map and a better likelihood that your phone will work with greater reliability.