Nobody has ever said that MS is a good software company

While I've never tried to analyze MS VS resource usage, it works ok for me.
Reg. event handler and concurrency. The life itself is a hard thing. To effectively utilize multi-threading, you have to develop the code which handles concurrency issues.
I don't think that processing events simultaneously is impossible, why different events which affect different entities can't be paralleled?
Make locks on character, countries etc and go ahead.
Of course there may be race conditions here, but as far as events are all random-based, we do not need the determinism here.
Also introducing a massive array of locks would increase memory usage and potentially slow the system more than benefits gained, but I don't believe that there is nothing possible to improve there.
And yep, re-writing such a significant part of an engine from single-thread to multi-thread design may be as expensive as developing the game...
P.S. And developers capable to do this are also very expensive

I know this, cause we have to hire them...