Whenever AFNetworking is used the call is dispatched on a custom thread provided by AFNetworking. When the call returns to the completion block, it gets executed on the main thread.
This example sets a custom thread that dispatch to the completion block:
AFNetworking 2.xx:
// Create dispatch_queu...