If something happens randomly and rarely, its a red flag for a concurrency issue.
NSCalendar is not thread safe, make sure every use of the current calendar in your application is on the same thread.
Also, i dont know if Arc is smart enough to not retain your already singleton calendar twice.