As Arul says, given an nn.Parameter or more generally any a leaf node, a (differentiable) calculation that uses multiple times will propagate (and accumulate) gradients on backward. And this is precisely what you would want for tied weights.
A minor note: Don’ t use .data, it is strictly not as good as .detach() 60.
Best regards
Thomas