ini_set("memory_limit", "64M");
memory_limit = 64M
Por cierto, la máxima lectura que obtuve
en la memoria fué de 34 Mb con la imagen
inicial. Y por cierto ... todo funciona bien.
Cita: ancho 3072 x alto 2304 x resolucion 72 = 509607936 (M, si no recuerdo mal)
Realmente no es así.
Ancho x Alto x TipoDeImage (16, 32, 64 bits).
Un pixel en un RGBA de 32 bits (4 bytes).
3072 x 2304 x 4 = 28,311,552 Bytes
Y ese es el caso sin compresión, no son bitmaps.
Internamente no creo que la libreria GD convierta a bitmaps.