IIRC from WWDC they said that inactive/suspended apps get their memory compressed to free up memory for the current active/foreground app.
Seems to mesh well with the iOS idea of using a single app at a time and minimizing background processing in apps that you aren't actively using.
In an out of memory situation I think apps just get killed as you suggest.