I have not tested this myself, but reading the code and issues in Github indicates that because the next scheduled task's run time would be in the past - the scheduler runs that task immediately. Also note that the scheduler calculates the next tasks run time at the end of the previous task - this means that some times in the cron schedule might be skipped.
Look into using a Materialized View or similar.