Copying stdin to stdout causes strange results
<p>I've got a super simple program. My intention is to copy standard input to standard output. Here's the source code:</p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace LALA
{
    class LALA
    {
        static void Main()
        {
            int bufferSize = 40;
            Console.OpenStandardInput().CopyTo(Console.OpenStandardOutput(), bufferSize);
        }
    }
}
</code></pre>

<p>If I set <code>bufferSize</code> to 40, then for any input I just see 'C o n', 'C o n s', or 'C o n s o l e' etc.
If I set <code>bufferSize</code> to 41, then everything is fine.</p>

<p>My question is am I doing something wrong, and by accident values above 41 work?</p>

<p>To clarify, this is the output when I type asd:</p>

<pre><code>c:\some_path&gt;ConsoleApplication2.exe
asd
C o n
</code></pre>
