UIKit requires that the completionHandler for application:handleEventsForBackgroundURLSession: be called on the main thread.

See docs here: https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSessionDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intfm/NSURLSessionDelegate/URLSessionDidFinishEventsForBackgroundURLSession: