См. вопрос .
Таким образом, проблема с методом +imageNamed:
заключалась не в том, что он кэширует изображения (это предполагаемое поведение метода), а в том, что этот кэш не очищался при необходимости (в случае предупреждений о нехватке памяти).
В ответе на упомянутый мной вопрос указано, что эта проблема должна быть исправлена в SDK 3.0. Чтобы добавить - в моем приложении у меня есть большое мозаичное изображение, похожее на карту, и неиспользуемые плитки, кажется, эффективно удаляются при необходимости, поэтому я бы сказал, что проблема действительно решена.