Isn't it unnecessary to retain a static variable since it stays around for the duration of the program, no matter if you release it?
See this code: https://github.com/magicalpanda/MagicalRecord/blob/master/Source/Categories/NSManagedObjectContext+MagicalRecord.m#L24-29