Короче поясним в чём ошибка.
1. Присылаем жирный аттач. Под него выделяется имя-файла. Имяфайла перетаётся в лейк, тот его сжирает, всё чики пуки.
2. Присылаем микроаттач. Файла под него не выделяется, потому что влез в память. А имяфайла старое осталось. С ним идут в лейк, а лейк его не может найти, потому что он такое уже ранее сожрал. Тарам-парам-пам, пиу!
3. Главная подстава в том, что срабатывает оптимизация "влезло в память - файл вам не нужен, дите наху". Вот это подстава размером с жопу рулеза.