BTW you need to destroy AND null locals
You just need to destroy globals
First go here
http://www.cplusplus.com/doc/tutorial/pointers.html
Just read until you understand what a pointer is.
Incase the above is a bit too complicated to understand.
A pointer is a value that tells you where you can find something.
Like if you wanted an integer, you could pass around a pointer to the integer. Then if you wanted to modify that integer you use the pointer to find it. Then you modify it.
When your passing around a location your passing around a pointer to the object which is the location. When you null/change that variable, you just wiped the pointer out of existence. The location object stays there. When you destroy the location, it destroys the object but leaves the pointer. For globals its ok if the pointer stays, it will just get overwritten next time. For locals, it won't destroy the variable unless the pointer is null.
(For further note, a variable will return null in JASS if the pointer or/and the object is null, it doesn't mean their both null if it returns so.)
Anyway, I hope that helps you..
Also for further reference, a 'handle' in wc3 is a form of a pointer.
On a peronal note, I think you should put some effort into learning JASS then vJASS, I think it would really set you free.
More info about how wc3 deals with triggers:
Wc3 is constantly running a thread. Think of a long line of thread. Thats how it deals with triggers, it does everything it can on one, then during a wait/timer it'll work on a different trigger until it reaches the end OR until a wait/timer. So in actuality everything is sort of like one giant trigger. Will, what happens if there aren't any triggers running, one might wonder. If thats the case then the thread will be constantly checking the events, when they work, it runs the trigger! Even if there are no triggers, warcraft has its own jass files which I'm assuming it runs. Wc3 automatically stores what functions are being run as a result of what trigger, this data can be accessed as a result of GetTriggeringTrigger().