Вопрос, который вам нужно задать себе, - почему вы хотите немедленно удалить объект пакета?Вы говорите, что GC запускается каждые 5-50 секунд, и вы хотите поддерживать низкий уровень оперативной памяти (я полагаю, вы имеете в виду использование).
При написании кода Java вы не должны (действительно) учитывать его взаимодействие с управлением памятью JVM,При запуске приложения будет установлен размер кучи (либо с использованием значений по умолчанию, либо явно через ключи командной строки -Xms / -Xmx).Если приложение обрабатывает все доставляемые пакеты и допустимы издержки GC (время паузы приложения), тогда ваш код работает именно так, как должен.У вас нет причин хотеть удалять обработанные пакеты, поскольку GC делает это для вас.
Если вы используете виртуальную машину Hotspot, тогда куча разделяется на области, называемые поколениями.Основной причиной этого является гипотеза слабого поколения, которая в основном говорит о том, что большинство используемых вами объектов живут очень и очень короткое время.Если объекты собираются в молодом поколении (что ваши пакеты, скорее всего, будут), это фактически нулевая стоимость сбора, так как они не должны обрабатываться каким-либо образом.JVM будет отслеживать использование памяти кучи и запускаться всякий раз, когда это необходимо, чтобы освободить место для работы приложения.
Вы должны позволить JVM выполнять свою работу и сосредоточиться на логике приложения.