Я должен так или иначе выпустить общий объект (на котором одиночный элемент базируется), когда мое приложение завершается, если никакой сборщик "мусора" не использовал (среда iPhone)?
Когда приложение завершает работу, вся его память освобождается. Поэтому не имеет значения, освобождаете ли вы объекты вообще, если вы не используете слишком много памяти во время работы.
Даже когда стратегия изменится в 4.0, один маленький объект не будет иметь большого влияния; он все равно будет освобожден вместе с остальной частью приложения при завершении его работы.
В качестве дополнения, вы можете найти это полезным:
http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html