Не нужно ли сохранять статическую переменную, так как она остается в течение всего времени программы, независимо от того, вы ее отпустите?
Смотрите этот код: https://github.com/magicalpanda/MagicalRecord/blob/master/Source/Categories/NSManagedObjectContext+MagicalRecord.m#L24-29