Изображение декодируется при первой отрисовке. Его размер равен width * height * bytes per pixel. Поэтому так много. В allocation это не вижно, но VM Memory Tracker (кажись так), показывает это, как CG Image - там уже размеры буферов. Чтобы отследить, можно попробовать включить во вкладке Diagnostics - Malloc Stack. Тогда должно, как я понимаю, записывать, где и что было создано. Там же и увидишь, когшда какая картиночка создаётся и кто её держит