Cores underutilized after upgrade from 27 to 28

The system I work on runs on 120 cores VM in Azure. We use +sbt ps scheduler bind type. There is about 100 processes which are computationally heavy, and the VM copes with the load normally. However, we recently upgraded Erlang/OTP from 27.3.3 to 28.0.1. After this upgrade the system started to behave in a weird way. After some time of running the cores become underutilized, only few of them are used, the computationally heavy processes become starved, and as the result their throughput decreases significantly. Restart of the entire BEAM fixes the issue and after the restart the load is normally spread between multiple cores. Then the next day the same situation happens again. We downgraded back to 27.3.3 and this weirdness is gone, the system behaves normally again.

I went through the lists of changes between 27.3.3 and 28.0.1 and could not find a single one which could be responsible for this very visible to us difference between 27 and 28. Does anyone have an idea what could be causing this?

I wonder if you are seeing something similar to what we can reproduce on certain AWS hardware. Our issues were not isolated to specific Erlang versions, however.

https://erlangforums.com/t/pathological-scheduler-behavior-on-specific-aws-instance-types

In particular, we have continued testing different hardware and BEAM configurations with this benchmark.