title: Console.Writeline throws “Not enough storage is available to process this command.” IO exception
body: <p>I have an application which will copy 1000 files from One folder to another. After each file is copied we will write the Copy Success/Failure information into a separate file. </p>
  
  <p>At some time, during writing this copy information in a file, <code>StreamWriter.WriteLine</code> throws the following exception:</p>
  
  <blockquote>
    <p>10/28/2014 12.21.02.068 Message : Not enough storage is available to process this command.
    Filename : Copying file C:\Program Files\XYZ\SampleFile.xml to C:\Program 
    Files\ABC\SampleFile.xml.xml | Inner Exception :  | Type : System.IO.IOException | Source : mscorlib</p>
  </blockquote>
  
  <pre><code>Not enough storage is available to process this command.
  
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  at System.IO.__ConsoleStream.Write(Byte[] buffer, Int32 offset, Int32 count)
  at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
  at System.IO.StreamWriter.Write(Char[] buffer, Int32 index, Int32 count)
     at System.IO.TextWriter.WriteLine(String value)
     at System.IO.TextWriter.SyncTextWriter.WriteLine(String value)
     at System.Console.WriteLine(String value)
     at VersionActivator.VersionActivationController.LogMessage(String message)                            
  mscorlib : Not enough storage is available to process this command.**
  </code></pre>
  
  <p>But this application works fine when the PC initialized in safe mode.</p>
  
  <p>My Code :</p>
  
  <pre><code>foreach (FileInfo fi in source.GetFiles())
  {
      if (fi.Exists)
      {
          string destFileName = Path.Combine(target.FullName, fi.Name);
  
          // If the file is readonly, make it non-readonly
          if (File.Exists(destFileName))
          {
               File.SetAttributes(destFileName, FileAttributes.Normal); // IMS 2793051209
          }
          LogMessage(string.Format("Copying file {0} to {1}", fi.FullName, destFileName));
          fi.CopyTo(destFileName, true);
      }
  }
  
  public void LogMessage(string message)
  {
      try
      {
          **Console.WriteLine(message); // This is the place am getting IO exception**
          if (m_LogWriter != null)
          {
              m_LogWriter.WriteLine(
                string.Format(@"{0} {1}"
                , DateTime.Now.ToString("MM/dd/yyyy HH.mm.ss.fff")
                , message)
              );
          }
      }
      catch (Exception ex)
      {
          WriteException(ex, message);
                throw;
      }
  }
  </code></pre>