See https://github.com/pytorch/pytorch/pull/22983#discussion_r304642671 2
tl;dr: usage of legacy autograd function is error prone, if you invoke it twice for example, it will actually share the grad_fn, which may cause correctness issues