In the GC reference it clearly states:
Mobs with a non-empty key and all objects with non-empty tags are also immortal.
Numbered Steps to Reproduce Problem:
Create a new object that handles a Click().
Give it a tag
Place it in a Grid (it's what I do anyway)
Click it.
Does nothing.
Code Snippet:
CustomNew(mob/M)
tag=M
..()
Expected Results:
Object doesn't get garbage collected
Actual Results:
It does
Now when adding it to a list:
Code Snippet:
var/list/GarbageList = new
CustomNew(mob/M)
GarbageList=M
..()
Expected Results:
Object doesn't get garbage collected
Actual Results:
Works fine
When does the problem NOT occur?
When setting a reference to the obj other than Tag
However with grids and statpanels my advice is always to use a reference anyway.