htmlentities() во время чтения, так что результат ожидаемый. Но если хотите безопасно отображать разметку, то используйте HTML Purifier.
Convert.ToInt32(Console.ReadLine()) в отдельный метод и переиспользуйте.public static int ReadInt32()
{ return Convert.ToInt32(Console.ReadLine()); }