I beg to differ... that's what the GC is for... to clean up the bits of memory no longer in use. Since the address previously pointed to by p2 is no longer in use, the GC will handle that and clean it up, allowing it to be used.

When p2 gets "rerouted" to a new location, the FW is smart enough to note the old address and mark it for cleanup.

-tg