Sorry for the misunderstanding.
Yes, basically if you update inplace, the references will still hold.
However, if you change the unterlying .data, you break the reference.
Have a look at this code:
model = nn.Linear(1, 1)
state_dict = model.state_dict()
weights = [value for key, value in state_dict.items()]

for i, (name, layer) in enumerate(model.named_parameters()):
    print(name)
    print('Before ', layer)
    print('Reference identical: ', layer.data.data_ptr()==weights[i].data_ptr())
    layer.data = weights[i] * 2
    print('After ', layer)
    print('Reference identical: ', layer.data.data_ptr()==weights[i].data_ptr())