Чтобы найти производные класса, которые все были определены в другой сборке (GetExecutingAssembly не работала), я использовал:
var asm = Assembly.GetAssembly(typeof(MyClass));
var listOfClasses = asm.GetTypes().Where(x => x.IsSubclassOf(typeof(MyClass)));
(разделить на 2 строки для сохранения прокрутки)