A ConcurrentDictionary<TKey, TValue>
cannot contain duplicate keys.
I would go with a ConcurrentBag<KeyValuePair<string, string>>
if ordering wasn't an issue or you might use a ConcurrenyDictionary <string, List<string>>
and filter out the proper value as needed.