Thanks for helps!
So the key is that somehow Pytorch blocks in-place operation on a leaf variable and .data is way to be a non-leaf variable.
Is there special reason for stricter blocking in case of the leaf variable?
I read that in-place operations are discouraged 27 but not clear which of two is relevant with the leaf variable case.