I don’t think that PyTorch round to nearest even numbers.
Instead, I would venture that this is likely an issue of floating point numbers and representations being only exact to machine precision:
>>> torch.tensor(0.50000001, dtype=torch.float).round()
tensor(0.)
>>> torch.tensor(0.5000001, dtype=torch.float).round()
tensor(1.)
>>> torch.tensor(0.50000001, dtype=torch.double).round()
tensor(1., dtype=torch.float64)

Best regards
Thomas