Well, I restored the scom database server to state before SQL2016 CU15 install.
And this didn't fix the problem.
I have installed the second management server and moved there the majority of agents there.
New server does not experience 2115 problem, which confirms the problem is/was not with SQL, but with the old management server, and it arose after its reboot.
Analyzing traces from management server i could find that some OM subsystem continues to collect data from agents and write it to the local queue and health service store. But other subsystem responcible for running OM DB writing workflows (like "Collect object state" or "Collect performance data") isn't working, which causes 2115 events and finally items queue and HS store overflow.
I've confirmed that on the working management server these modules leave traces as "BaseDbWriteModule":
[0]5532.10484::12/14/2020-16:56:39.729 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItamsWorker> PerformanceWriteModule module's worker thread is acking the dataitem.
[0]5532.10484::12/14/2020-16:56:39.729 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItamsWorker> PerformanceWriteModule module's worker thread is calling the completion callback.
[0]5532.10484::12/14/2020-16:56:39.729 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItamsWorker> PerformanceWriteModule module's worker thread is requesting the next dataitem.
[0]5532.10484::12/14/2020-16:56:39.729 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItamsWorker> PerformanceWriteModule module's worker thread is done.
[0]5532.10484::12/14/2020-16:56:39.831 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItams> PerformanceWriteModule module has received new dataitem.
[0]5532.10484::12/14/2020-16:56:39.831 [Bid2Etw_Microsoft_Mom_DatabaseWriteModules_1_Trace] [] [Information] :{Information_TextW}<BaseDbWriteModule.OnNewDbDataItamsWorker> PerformanceWriteModule module's worker thread has received the dataitem.
And on my broken server these traces are missing. The sources for these OMDB writing workflows are scom system provider modules like "Microsoft.SystemCenter.PublishedAlertProvider". Obviously these providers do not work, do not provide items to OMDB writing workflow and do not initiate them. But since these providers are implemented as "native class modules" there's no information about their implementation other than:
<Native>
<ClassID>C3339855-80B3-4c06-B7AB-5C5D97B59A0D</ClassID>
</Native>
So my investigations stopped here. I can't find neither information about which subsystem running these providers, nor errors about it in traces nor how to restore these providers.
Any idea?