Garbage collection is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program, but is no longer referenced.
That kind of memory is called garbage. Garbage collection was originally invented for the Lisp programming language, the language Racket is based on.
Implementation
The most common implementation of garbage collection involves tracing. Another method is Reference Counting.