Sorry for the typo. I meant the backward call frees (deletes) the intermediate tensors, not freezes. 
This is done to save memory, as the gradients are already calculated and these tensors are not needed anymore.
However, if your use case needs these tensors again, you have to use retain_graph=True.