I would advise you to use Background session.
You may use Default session or a regular NSURLConnection with a background expiry identifier with a max of 10 minutes to complete your tasks
Background Task Identifier Documentation
Using NSURLConnection in background task ( you also get iOS 6 support)
NSURLConnection best practise when enter background
By the new standards you can use Background Session to handle downloads/ server uploads.
Apple's documentation on handling background downloads
A Simple project from Apple illustrating the technique
Hope this helps you !