Explanation The GC.KeepAlive method references the specified object, which makes it ineligible for garbage collection from the start of the current routine to the point where this method is called. The purpose of the KeepAlive method is to ensure the existence of a reference to an object that is at risk of being prematurely reclaimed by the garbage collector. The KeepAlive method performs no operation and produces no side effects other than extending the lifetime of the object passed in as a parameter. Reference: GC.KeepAlive Method (Object) https://msdn.microsoft.com/en-us/library/system.gc.keepalive(v=vs.110).aspx