Alla fine credo che tu debba incrementare il memory_limit, se puoi. 24 mega sono pochi, php mette di default 128.

Considera che per ridimensionare un immagine compressa (e la compressione jpg puo' arrivare anche 1:10), la libreria che se ne occupa deve tenere in memoria contemporaneamente la copia originale non compressa e la nuova immagine.
Ad esempio un immagine con la risoluzione 1900x1200 a 24bpp, puo' pesare 1 mb, ma consumera' 1900*1200*24 = 54720000 bits, che sono ~6-7 mb - e questa e' solo una parte di memoria necessaria.

Poi c'e' anche la memoria consumata dal resto dello script.

Quindi riassumendo - 24mb sono pochi