I am confused with the documentation expain about the performBlock: and PerformBlockAndWait: It says: performBlock is async and withWait:is sync in the receiver's queue. Is that "receiver" refers to the NSManagedObjectContext? If the context is private type so the block executes in the background thread, if the context is main type and the block executes in the main thread? many thanks