I\'ve already read previous questions here about ConcurrentBag but did not find an actual sample of implementation in multi-threading.
ConcurrentBag
Concur
If List is used with a lock around Add() method it will make threads wait and will reduce the performance gain of using Parallel.ForEach()
List
Add()
Parallel.ForEach()