Could you remove the dataloading and check if your training routine would get stuck after training on random data?
If that’s not the case, could you iterate over the DataLoader alone without the model training and see, if this might cause the issue?