NSOpenPanel не является синглтоном.Возможно, это было когда-то, но если посмотреть на последний файл NSOpenPanel.h, то становится ясно, что он не одиночный или, по крайней мере, Apple не хочет, чтобы вы использовали преимущества этой детали реализации.
Какиз-за утечки я был смущен, когда я должен был отпустить мою открытую панель и удерживал ее.Из раздела Использование открытых и сохраненных панелей Руководства по программированию файловой системы ваша жизнь стала намного проще в 10.7 и более поздних версиях:
Important: In OS X 10.6 and earlier, you must retain an open panel prior to displaying it and release it when you are done with it. Because the openPanel method returns an autoreleased object, the panel is normally released shortly after it appears on screen. Retaining the panel prevents it from being deallocated and dismissed prematurely. You do not need to retain the panel if it is attached to a window and you do not need to retain the panel in OS X 10.7 and when using ARC.
После того, как я перестал ее сохранять, все стало проще истало намного проще:)