As with some of your other Scheduler suggestions, this has been addressed and the fix will be included in an upcoming release (>10.1). It should be mentioned thought that the change that we implemented was not to check the instance as the job could be executing on another server. Instead we made the decision to only check if a job is stoppable during startup, instead of creating an instance with every request as it was done previously. Hopefully that will improve things slightly for you as well.
If you create a scheduled job that is marked as stoppable and the job is started manually, two instances of the scheduled job are created. One to perform the job and a second to check to see whether or not the job is stoppable. This could potentially have a large impact on performance if heavy dependencies are injected/resolved in the constructor.
I propose the framework is changed so that the check is performed against the running instance (if available) rather than against a new instance.
Example stack traces: