I tried to retest the performance of the 3 approaches (added getSObjects(SObjectField) approach).
OrganizationType: Developer Edition
Results for 50 trials each of 20.000 calls:
MIN CPU (ms)
MAX CPU (ms)
AVG CPU (ms)
System.schedule() expects the third parameter to be something that implements the Schedulable interface (which Object does not).
Provided the class you're dynamically instantiating does implement that interface, you should be able to change
from: Object o = objType.newInstance();
to: Schedulable o = (Schedulable)objType.newInstance();
which should be enough ...