I prepared a macro (attached) that attacks ErrorList from 2 threads.
T1: feeds the es (error source) with n errors (numbered 1..n), then registers it
T2: adds additional n errors to es (numbered n+1..2*n), while T1 registers es
A) For small n (10): the result is as expected, number of errors is 2*n
B) For medium n (80): I observed duplicated errors, e.g. 89, 90. Hard to reproduce, but one just needs to repeat and repeat watching error count
C) For big n (200): only errors >n appear
Better reproducibility of case B would be achieved with proper placement of compDelay, but it needs investigation of the cause first.
ErrorList is documented to be thread safe, so these things should not happen.