Imagine you have an enormous object serialized on disk that you are using in memory, or that object is loaded in memory. You want to allow the garbage collector (GC) clean memory when it needs it, right?. Imagine you are about to run out of memory; do we really need to wait until no reference is made to our object?
Here