no deallocation occurs -- instead, the heap manager finds allocated blocks the program is no longer using and reclaims them automatically.
identifies blocks of memory that were once allocated but are no longer in use and deallocates the blocks and marks them as free.
what memory is no-longer referenced and frees it up