Похоже, у вас есть зомби - у вас есть ситуация, когда вы используете код после того, как вы его выпустили. Число сохранений достигает нуля, поэтому система освобождает и повторно использует память, после чего вы вносите изменения с помощью исходной ссылки. Теперь у вас есть две разные ссылки на одну и ту же память, каждая из которых ожидает, что там будет другой объект. В вашем случае одна из ссылок находится в пределах суматохи.
Причиной различий между вашим устройством и симулятором являются различные схемы выделения памяти, используемые двумя архитектурами - симулятор, похоже, очень агрессивно использует память.
Включить NSZombie и запустить в отладчике. Если вам повезет, он даст вам объект и точку, которую он использовал после освобождения.
Включить NSZombie: меню «Продукт», «Редактировать схему ...», «Выполнить», вкладка «Диагностика», поставить галочку «Включить объекты-зомби».