When running your code I’m getting:
RuntimeError: Output 0 of BackwardHookFunctionBackward is a view and is being modified inplace. This view was created inside a custom Function (or because an input was returned as-is) and the autograd logic to handle view+inplace would override the custom backward associated with the custom Function, leading to incorrect gradients. This behavior is forbidden. You can fix this by cloning the output of the custom Function.

which seems to point to the inplace nn.ReLU. Replacing the inplace version with an out-of-place version via:
model.features[15] = nn.ReLU()

seems to solves this issue.
However, I don’t quite understand your use case, as you are registering a backward hook while you are wrapping the code into a no_grad() context (which would disallow a backward call) and are also removing the hook before a backward call is even used.
Are you looking for forward hooks to get the output of features[15]?