Ciò che freeMemory() sta effettivamente segnalando è lo spazio tra l'heap e lo stack. non riporta alcuna memoria deallocata che è sepolta nell'heap. Lo spazio heap sepolto non è utilizzabile dallo stack e può essere sufficientemente frammentato da non essere utilizzabile neanche per molte allocazioni heap.