Не видя ваш код, его трудно диагностировать, но звучит так, будто вы выпускаете то, чего не должны быть. Первые два раза объект по-прежнему действителен, но в третий раз объект может сохранить счет равным нулю и, следовательно, преждевременно освободить его. Проверьте метод IBAction для своей кнопки UIB и убедитесь, что вы не выпускаете вещи, которые вы явно не выделяли.