This collector keeps CapacityErrors (and no more). It raises OnErrorFromBackgroundThreads event on each Add. It is totally thread-safe and guaranties (as long as its Capacity is big enough) that no error can be lost (even errors raised while dispatching the event are themselves collected) and that errors are dispatched in sequence.
This class is typically used as a static property or field by any object that must handle unexpected errors. (It can also be used per-instance if it makes sense.)