Fix sync context Run always returns true when it ran something.

This should fix a possible edgecase where some of the scheduled items
aren't being run due to being added at the very last minute.