title: How Can I determine the number of items in ThreadPool Queue
body: <p>I am using the ThreadPool to queue 1000's of workitems</p>
  
  <pre><code>While(reading in data for processing)
  {
      args = some data that has been read;
      ThreadPool.QueueUserWorkItem(new WaitCallback(threadRunner), args);
  }
  </code></pre>
  
  <p>This is working very well, however, as the main thread queues the requests faster than they are processed memory is slowly eaten up.</p>
  
  <p>I would like to do something akin to the following to throttle the queueing as the queue grows</p>
  
  <pre><code>Thread.Sleep(numberOfItemsCurrentlyQueued);
  </code></pre>
  
  <p>This would result in longer waits as the queue grows.</p>
  
  <p>Is there any way to discover how many items are in the queue?</p>