Еще хуже, чем то, что вам говорит кто-то0:
Я бы сказал, как вы определили свой uiImageToSave в блоке else , ссылка, которую вы создали с помощью imageToSave недопустим вне блока else - поэтому любое использование imageToSave в вашем коде просто работает случайно, если память еще не перезаписана.
И, как уже было сказано, [UIImage CGImage] вызов только дает вам ссылку на данные изображения, он не копирует и не сохраняет их - поэтому вы не можете выпустить его самостоятельно, он будет выпущен автоматически, когдаUIImage перестает существовать - в вашем случае это всего одна строка после того, как вы сделаете ссылку.
ОБНОВЛЕНИЕ:
Код в исходном сообщении скорректирован - теперь uiImageToSave определен справаместо (просто если кто-то задается вопросом о моем комментарии, который больше не соответствует оригинальной публикации: -).