I\'m certain that I\'m missing some fundamental understanding of iOS memory management and, despite lots of reading and searching, I\'m still not getting it.
Don't use singletons. Your current problem is caused by a simple memory management misconception, but the singleton pattern will only give you more headache in the long run.