The general rule about background applications is that they get five seconds of background time. An application can, however, tell that it's performing an background process and that way extend the background time to about a maximum of ten minutes. This makes it possible for applications to start a download when it's active and continue it if put to background.
To this there are a couple of exceptions where applications wont get suspended when put into the background.
- Apps that play audio.
- Apps that tracks location.
- Apps that listen for VoIP calls.
- Newsstand apps that downloads new content.
- Apps that get continuous updates from an external accessory.
There are also all applications that you allowed to receive push notifications that use data. This together with the built in apps people already named. You can of cause choose to inactivate automatic mail fetch, turn off the iMessage functionality and disconnect from iCloud.
Macworld have a nice article that explains this and the different states of applications.
You can also dive deep into the App States and Multitasking at iOS Developer Library.