Too Long; Didn't Read
This post discusses the aggressive nature of the garbage collection process in.NET as well as a concept that is often referred to as eager root collection. The behavior we are going to discuss in this post is actually the work of JIT and not the garbage collector. JIT is a very smart (and very aggressive) compiler that compiles MSIL code to native assembly code that is executed by the processor. When garbage collector is invoked inside Run() method from line 26 to line 28, tiger object is collected by GC since JIT informed the GC that tiger is not a live root.