Ran across this blog post which was confused about how .NET’s Math.Round does rounding (especially back in 1.x). Specifically, when the number happens to be x.5 (1.5, 2.5, 3.5, etc.) it rounds to the nearest even number.
A couple things to note:
1) This behavior has been in previous languages (for instance, VBScript, which obviously has some age on it)
2) Even outside of other languages, the method has been around for awhile – it’s called banker’s rounding