[Concurrency] Avoid dowgrading diagnostics multiple times
Unify `warn` + `limitBehavior` into a single call to make sure
that diagnostic doesn't get downgraded multiple times because
that could affect how diagnostics are tracked.
(cherry picked from commit 1649b5ec45ef1f08fbdcdb923aa95ac831a99911)