I tested the "own-goto" branch and I found ti does work except for the unpark issue.

I also checked the behavior whithout testing (strcmp(OSStat, OldOSStat) != 0) no change so test might be overkill but for sure not the reason.

So far all my tests with Scheduler were successful, the only change I made in my code is the SetParked(false); in case of failure but only if if (isParked()) is true