I seem to remember I experienced a similar behaviour once when it turned out that the “volatile” flag had been inadvertently set for quite a few check templates!! (I think that’s where it’s kept in Icinga2; I currently don’t have access to a running instance to check, sorry.) It took us days to get to that little oversight in our configuration, and hours to then effectively switch it off everywhere.
Moral of the story (for us at the time): Do not set non-default values for attributes you don’t understand!
P.S. (late edit): If the checks are just late/pending, make sure it isn’t this problem! If you aren’t using dependencies at all, it shouldn’t apply, though. (Dependencies are a very useful feature, BTW! Just hard to understand… ) BTW, at the time, I had during this crisis even developed a workaround cron job script to regularly globally enforce checking, which of course was a crazily simplified workaround, ignoring all individual check scheduling…
/kb