Invoke System.gc(), subject to policy constraints:
e.g. if it has been at least minGCInterval since
the last gc call completed.
At INFO logging level, will log when gcs are deferred and allowed.
At DEBUG logging lovel, will log how long allowed GCs run for.