Could you check, if these .grad attributes are None before the first backward call and zeros (or any values) afterwards?
If so, this wouldn’t point towards a detached computation graph, but vanishing gradients.