title: Parallel for doesn't do all records
body: <p>I am processing +100000 rows and implemented Parallel. This for faster processing. </p>
  
  <p>logic behaviour would be : 100000 records which has 85000 groupId meaning MyItems should hold 85000 records.</p>
  
  <p>This is not the case... i end up with an amount different then 85000</p>
  
  <p>The process goes as follows:</p>
  
  <p>Get all values from DB</p>
  
  <p>Get all the ID's (not row ID's, but a groupId) inside an Array of integers</p>
  
  <p>process the groupId's</p>
  
  <pre><code>var myItems = new List&lt;MyItem&gt;(IDCounter.Length);
  
  Parallel.For(0, IDCounter.Length, (i, loopState) =&gt;
  {
    if(!SomeParameter)
      loopState.Stop();
  
    var records = (from m in AllValues where m.GroupId == IDCounter[i] select m).ToList();
  
    var recordList = new List&lt;MyRecords&gt;();
  
    for(var j = 0; j&lt;records.Count; j++)
    {
      recordList.Add(new MyRecord{Text = records[j].OtherValue});
    }
  
    myItems.Add(new MyItem(Text = records[0].SomeValue, List = recordList));
  
  });
  </code></pre>
  
  <p>Any thoughts?</p>