It might be unintuitive, but I think this is the expected behavior.
In general, one should never do my_tensor_that_need_grad = create_tensor().requires_grad_().another_op(). You are more than likely getting an intermediate tensor which isn’t a leaf that requires grad.