xaotic:

I just thought that I would be able to train the model again in the same kernel without any constraints.


You should be able to reuse the memory, which is in the cache, unless all memory is really used by e.g. tensors. If you are running out of memory in the next cell, your code might be (accidentally) storing some outputs, the computation graphs etc.