Found this very useful post 6 years later

Just to clarify with an example:
1. I set a location on a variable. ObjectiveLoc = Center of Region,
2. I save ObjectiveLoc into some Units in a Hashtable. The Key is the unit itself.
4. I order those units to attack-move to point -> Getting the point from the hashtable with themselves as the key (not from the variable).
5. I Clear All Child Hashtables of those Units in Hashtable.
6. I remove the location of the variable. Call RemoveLocation(udg_ObjectiveLoc).
This leaves me with 0 leaks, correct?