Use ConcurrentBag for thread safety