I would advise nulling `tag` inside `AddTrash`, on the line before or after `gc_destroyed` is set.  The tag needs to be cleared for all datums anyway, and doing it inside `AddTrash` will guarantee that it is done for anything being collected.