Вы пробовали использовать инструмент?Это должно помочь сузить суть проблемы, и если это просто утечка, требующая исправления, нехватка памяти вообще или что-то еще не так.
Похоже, что просто не хватает памяти, так что если это выглядиту него должна быть доступная память, может быть, самая странная часть - может быть, у нее не хватает смежной памяти, и нет доступного непрерывного блока 2 Мб?Я упоминаю, что, как будто вы делаете многопоточность alloc / deallocs, вы можете легко попасть в беспорядок фрагментации, и я бы порекомендовал свести к минимуму любые выделения вне основного потока, если вы можете.
(я долженпризнаюсь, я не уверен, что iOS выполняет виртуализацию памяти, как некоторые HW, чтобы избежать этого, но подумал, что стоит упомянуть на всякий случай)
Если все это не удастся, возможно, это просто проблема блокировки объекта, если вы делаете нескольковыделяет на поток?В каком случае есть какой-либо способ предварительно выделить этот блок 2 Мб для потока перед запуском?