Задумывались ли вы об использовании директивы препроцессора #if DEBUG? Вы можете сделать что-то вроде следующего:
object myDependency;
#if DEBUG
myDependency = new Stub();
#else
myDependency = new Actual();
#endif
Просто мысль, но если это относительно небольшое приложение, это хорошее, простое решение, которое не требует особых хлопот. Когда вы создаете свой профиль отладки, опция компилятора DEBUG устанавливается автоматически. Когда вы создаете свой профиль Release, опция компилятора DEBUG отсутствует. Я бы сказал, что в любом другом приложении, кроме простого приложения, используется среда IoC, например, Ninject. Это красиво и просто, легко ... должно хорошо работать для небольших приложений.