You can use a concurrent collection.
The
System.Collections.Concurrentnamespace provides several thread-safe collection classes that should be used in place of the corresponding types in theSystem.CollectionsandSystem.Collections.Genericnamespaces whenever multiple threads are accessing the collection concurrently.
You could for example use ConcurrentBag since you have no guarantee which order the items will be added.
Represents a thread-safe, unordered collection of objects.