On second thought, I think it's better to leave the behavior inside Destroy() so that objects that don't want to be GC'd (pooled objects) can also have tags without having those tags cleared.