The memory will be released. However, the new model might now “fit” into the old memory block, so that a new one might be needed.
You could check it by saving the old model’s state_dict and create the bigger model in a new script.
If the memory usage is significantly lower, you might indeed observe memory fragmentation issues.