Экстрасенсов тут нет, чтобы по одной строчке вырванной из контекста что-то сказать. Скорее всего где-то что-то не так выводится. Попробуйте проверить с помощью XDebug.
В цикле запускаете функцию с небольшим таймаутом. Это даст вам возможность самим решить, надо ли прекратить ожидание через время или ждать дальше и т.д.
ob_clean и ob_flush тут не причем. Если класс Image писали вы - то следует после использования переменным ставить null принудительно. Если не вы, то тогда возвращаемся к первому варианту - добавить памяти скрипту.
Может что-то не так с отправляемыми данными? Попробуйте другую версию PHPMailer. Или попробуйте для начала отправить минимальное письмо (пару строчек) - посмотрите на потребление. Очень странно что для отправки надо 1 Гб, явно утечка памяти из-за какой-то ошибки.
Понимаете правильно. Но почему не установилось сразу - это странно. Попробуйте обновить composer и запустить composer install -v (будет больше подробностей о том что делает Composer. Еще больше подробностей: -vv или -vvv)
Виталий Хоменко: Может просто потому что у них аудитория ежедневная больше чем у автора топика и это уже вынужденный шаг так формировать верстку. Начинать однозначно надо с БД и постепенно продвигаться в оптимизации к view. Если же придется минифицировать view - значит что-то не так с архитектурой приложения.