Ты не. Как вы говорите, сборка мусора происходит автоматически. System.gc () даже не вызывает сборку мусора; это просто намек на JVM, что «сейчас самое время немного почистить»
В общем, попытка заставить сборщик мусора делать то, что вы хотите с помощью System.gc (), является хаком, применяемым людьми, которые думают, что знают лучше, чем на самом деле, или как (попытка) обходного пути для сломанного кода.
Я писал Java годами, и мне еще не приходилось видеть ситуацию, когда вызов System.gc действительно был правильным решением (во всем, что я написал)