When memory is allocated with new/malloc, TSan has interceptors to reset the shadow state for the allocation.
If allocation is implemented with memory management, TSan misses the new semantics.
For OpenMP-aware analysis with libarcher, we have the problem that libomp manages the memory for internal data structures and we observe spurious accesses to these data structures from instrumented application code. The accesses are not synchronized from application point of view, but by scheduling decisions and internal synchronization in the OpenMP runtime. This annotation removes the false positives without missing actual races.