Я полагаю, что проблема в том, что ваш объект в памяти все еще имеет заполненный байтовый массив.
Это отдельная проблема от того, используется ли поток для сохранения его в базе данных.
Я предлагаю обходной путь: не храните капли в POJO.
Храните большой двоичный объект отдельно, либо в базе данных через прямой JDBC, либо на диске, а затем просто сохраняйте ссылку на большой двоичный объект в вашем POJO (либо первичный ключ базы данных, либо путь к файлу / имя файла).
Затем, когда вам понадобится блоб обратно, получите ссылку из POJO и используйте потоковые методы для ее возврата.
Это больше работы, чтобы получать / сохранять большие двоичные объекты каждый раз, когда вам нужно, но если большой размер слишком велик для памяти, у вас может не быть другого выбора.