When your applications starts up, the Garbage Collector (GC) allocates some virtual memory to use as a managed heap. It creates a pointer to the next available free space in the managed heap, which defaults to point to the beginning of the (empty) heap.