title: TPL Producer Consumer in a FIFO order C#
body: <p>I'm limited to .NET 3.5 and I'm using TPL. 
  The scenario is producer-consumer but there is no problem of blocking.
  PLINQ cannot be used in this scenario (because of limitations) and what we want to achieve is the fastest way to produce many items (where each production is a long-running one, and the number of items exceeds 100,000) but each item must be consumed in a FIFO order (which means, the first item I asked to be produced must be consumed first, even if it was created after other items) and also consumed as fast as possible.</p>
  
  <p>For this problem I tried using a task list, wait for the first item in the list to be completed (taskList.First().IsCompleted()) and then using the consuming function on it, but for some reason I seem to run out of memory (maybe too many items in the task list because of tasks waiting to start?) Is there any better way to do that? (I'm trying to achieve the fastest possible)</p>
  
  <p>Many thanks!</p>