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.
test5.tcl: only loading
In both cases the final occupied memory is of same amount.
I haven't tested 8.4.15.