This is a well known (long standing) issue. Documented in the code base in commit eea02be70ee37b845f2719b3c08e5baf4b6f51f6.

Countless intermittent sanitizer warnings can be attributed to it.
void SetMaxOutboundTarget(uint64_t limit);
    uint64_t GetMaxOutboundTarget();
    
    void SetMaxOutboundTimeframe(uint64_t timeframe);
    uint64_t GetMaxOutboundTimeframe();
    
    
    
    bool OutboundTargetReached(bool historicalBlockServingLimit);
    
    
    uint64_t GetOutboundTargetBytesLeft();
    
    
    uint64_t GetMaxOutboundTimeLeftInCycle();
    uint64_t GetTotalBytesRecv();
    uint64_t GetTotalBytesSent();
    void SetBestHeight(int height);
    int GetBestHeight() const;
    
    CSipHasher GetDeterministicRandomizer(uint64_t id) const;
    unsigned int GetReceiveFloodSize() const;
    void WakeMessageHandler();
    /** Attempts to obfuscate tx time through exponentially distributed emitting.
        Works assuming that a single interval is used.
        Variable intervals will result in privacy decrease.
    */
    int64_t PoissonNextSendInbound(int64_t now, int average_interval_seconds);
    void SetAsmap(std::vector<bool> asmap) { addrman.m_asmap = std::move(asmap); }