Quote:
The apps in the list are suspended or running depending on their background task functionality.
Skype = running
Internet Radio = running
Apple apps = running
Other apps are suspended and open to the last used screen not a default new launch state.
Also Facebook is running for notifications even when it is not in the list.
I know you know that.
Just so you know, Skype is not open. When you close Skype, it tells iOS to listen in on a port for incoming "calls", when iOS gets an incoming message, it then launches Skype, which then does it's thing. Even when you close Skype from the tray, iOS will be listening to incoming messages.
You are right about the suspending (in most cases) unless it's assigned to do something: The App is allowed to finish that task then suspend itself or if the task takes too long or the app doesn't suspend itself, iOS will suspend it for it.
However, you are wrong about Facebook. It is not running in the background for notifications. It uses the iOS push messaging framework, which listens for incoming push notifications. When iOS hears a message coming in, it receives small bits of info about what app it belongs to, a short message, and what to do when the user clicks "view". iOS then displays it on the screen (and updates the app badge and/or plays a noise). When you click "view" it launches Facebook and then Facebook has to check manually to see the update (since iOS was in control of the message, not the actual FB app). Push notifications are never triggered by the app because the app is not running.
There are other ways to multitask without the app actually running, even though it
seems like the app is running. Like I said before, that is the point.
In most cases, apps do not need to fully run in the background. Take a look at the multitasking APIs built into iOS and you'll understand it more.