В документации к SoftReference указано, что
Все мягкие ссылки гарантированно будут очищены до того, как виртуальная машина выдаст ошибку OutOfMemoryError
Это вполне разумно, но во всех случаях мне требовался Reference API, мне нужно было подключиться к ReferenceQueue (или использовать Cleaner, который то же самое). Алгоритм опроса очереди может освободить некоторую память. Есть ли вообще способ каким-то образом проинформировать GC о том, что это может произойти, или, по крайней мере, сделать это таким образом, чтобы свести к минимуму вероятность возникновения предотвратимого OOME?