After forgetting a package "package forget" the reserved memory neither seems to be freed, not to be reused by a subsequent different package.
In all cases I'm using the same package code copied and renamed accordingly, hence it should have the same memory requirements.
In contiguous loading/unloading of the same package the memory is reused as expected, but with different packages this is not the case, as it seems that new memory is reserved and the previous is not resused by the new package.
test4.tcl: loading/unloading
test5.tcl: only loading
In both cases the final occupied memory is of same amount.
I haven't tested 8.4.15.
The proof of concept code.
Logged In: YES
user_id=718576
Originator: YES
package forget does not do that actually. it removes info about the package. other constructs declared in the package and loaded into memory remain there.