__GC is the corresponding to __value in the Managed C Extension. The difference is that __GC generally corresponds to a more complex class. When the member life cycle is over, DESTRUCT is automatically done. This is not valid even if you are displaying a call analytic hook function. This is a chain that the works of the hook are achieved by CLR. In addition, the keyword does not seem to be globally used. __Value corresponds to a small STRUCT. Detailed features See msdn (ie, check) this keyword, I will not use it, because Garbage Collection is so important how to make CLR to do it, and must need CLR, the transplantability of the code reduce. See a family.