Great - got it!
So in other words the while (Program.IsEnabled) { keeps it running and does not it just execute and exit. The Startup code is called each time the event occurs.
To be safe should I put in If (Program.IsEnabled) or is that redundant since the Startup code won't run if it is not enabled?
I ran a test: If my program executes and goes idle within a minute, the program gets run again by "IsScheduling()", so I inserted a Pause(60) to avoid multiple times running. Is that OK?