In an interesting twist, it seems that at least for some types of programs written for Windows Phone 7, multitasking or rather, the simulation of multitasking is completely possible.

Over at clr-namespace.com, the author whipped up a stopwatch application which you can start, then "minimize" then return to the app and it appears to have be running the whole time.

Of course in reality, it's not. It's "tombstoning" the application, which is a process by which

...the operating system maintains state information about the application. If the user navigates back to the application, the operating system restarts the application process and passes the state data back to the application, where the user will be able to continue seamlessly from his last interaction point with the application

In this case, the stopwatch does pause, but when restarted it counts back up from the original start time, giving the illusion that it has been "counting" while paused. This all happens without the user even knowing, making it a bit of a kludge, but a good one for this application.

How can this be applied to other programs? We're not really sure but it goes to show with some ingenuity, programmers can get around some of these "limitations".

[clr-namespace via Silverlight Show.net]