Running your code also reproduces my issue, I’m using versions:
torch: 1.8.1+cu101
torchvision: 0.9.1+cu101

grad_hook is not called when using register_full_backward_hook.
grads = None
def grad_hook(module, grad_input, grad_output):
    print("grad_hook called")
    global grads
    grads = grad_output[0].clone().detach()

# 1
model = models.alexnet()
model.features.register_backward_hook(grad_hook)
x = torch.randn(1, 3, 224, 224)
out = model(x)
out.mean().backward() # prints "grad_hook called"
print(grads.size()) # prints torch.Size([1, 256, 6, 6])
print(grads.abs().sum()) # prints tensor(0.3186)

# 2
model = models.alexnet()
model.features.register_full_backward_hook(grad_hook)
grads = 1234
x = torch.randn(1, 3, 224, 224)
out = model(x)
out.mean().backward()
print(grads) # prints 1234