title: SqlCommand ExecuteNonQuery throws OutOfMemoryException
body: <p>I have problem with executing Sql that in fact is simple call of stored procedure on SqlServer. </p>
  
  <p>Consider below Sql Stored Procedure:</p>
  
  <pre><code>    CREATE PROCEDURE InfiniteLoop
      AS
      BEGIN
          DECLARE @ixi NUMERIC(38) = 0
          DECLARE @i NUMERIC(38) = 0
          WHILE 1 = 1
          BEGIN
             SET @i = @i + 1
             SET @ixi = @ixi * @i
             PRINT N'some text'
          END
      END;
  </code></pre>
  
  <p>Now I'am calling this procedure from C# in this manner:</p>
  
  <pre><code>public void CallProcedure()
  {
     SqlCommand cmd = this._connection.CreateCommand();
     cmd.CommandType = CommandType.StoredProcedure;
     command.CommandText = 'InfiniteLoop';
  
     //Line below throws OutOfMemoryException
     cmd.ExecuteNonQuery();
  
     cmd.Dispose();
  }
  </code></pre>
  
  <p>Memory starts growing realy fast. After few seconds exception is thrown. 
  Normaly all this code is using 'try/catch' and 'using' sections, but I have simplified this snippet to show that problem comes from SqlClient library not from my code directly.</p>