Если вы выполняете динамическое выделение и освобождение памяти во время выполнения вашего приложения, может случиться так, что вы фрагментируете память и вам просто нужно так много для того, чтобы справиться со всеми «скачками» вокруг фрагментации.
Я использовал пакет MMGR из http://www.fluidstudios.com/ прежде, чтобы отслеживать использование памяти. По сути, это позволяет вам получать полезную информацию обо всех распределениях в вашей программе, поэтому вы можете отслеживать кадр за кадром, чтобы увидеть, что происходит.
Удачи.