you know the whole stack vs heap thing in C#? from what I understand, stack is allocated down the physical memory and is popped back up and unallocated as soon as the execution branch finishes. and the heap is the same except it moves up and DOESN'T get gracefully unallocated when the execution branch finishes: it waits around for the garbage collector to find garbage.