It's yet another flawed microbenchmark.
The RealBASIC version calls the inbuilt "chr" function while in C# it calls:
public static char Chr(byte src)
{
return (System.Text.Encoding.GetEncoding("iso-8859-1").GetChars(new byte[] { src })[0]);
}
I'm sure there's some overhead to calling this 16 million times.