Ваши png-файлы могут иметь размер 300 КБ, но это формат сжатия.
Чтобы получить представление о размере самого изображения, вы должны умножить ширину, высоту и количество байтов на пиксель.
т.е. Если изображение имеет размер 1024 * 1024 и модель RGBA, само изображение имеет размер 4 МБ в памяти. И это только одно изображение. Если у вас есть 300, это около 120 МБ.
Примечание: это только приблизительное правило, но оно дает вам представление.
Таким образом, вы должны хранить имена путей в массиве и загружать изображение только в случае необходимости, а миниатюры должны быть изменены и сохранены на диске в виде файлов. Не просто масштабируйте UIImageView.
Вот отличная статья с кодом об изменении размера.