Да Вы гений… Я для своей функции для уменьшения изображения уже 3-4 года назад использовал приближение в виде 5 байт на пиксель, чтобы отлавливать случаи нехватки памяти :). Помимо этого, ошибка нехватки памяти в PHP хоть и является Fatal error, но её можно перехватить в обработчике ob_start(), о чём тоже есть довольно старые статьи (пример)…
Особенности использования GD-lib на хостинге PHP c ограничеными ресурсами