I think in 5.2 will become useless for all __gc hacks since __gc must be set before the metatable is set. I'm not sure what will happen if you give it a new metatable as in your example... sounds like it is in the realm of undefined behavior.