Вероятно, из-за того, что Eclipse автоматом добавил классы из папки m(эти классы нваверное в проекте) в classpath, в вашем методе происходит исключение и успешно вызывается super.findClass(className). А все из-за того что, в ваш findClass(String className) className приходит в виде pack1.pack2...ClassName, то есть пакеты разделены точкой и далее m_pathToBin+className+".class" -> m/java.lang.String.class.
сделай хотя бы m_pathToBin+className.replace('.','/')+".class, а далее сами думайте что делать с inner классами.