Stack, Heap and Garbage Collection

Where a value lives, what keeps it alive, and what the two memory errors mean.