В вашем случае класс C3 не наследуется от класса A3. Класс A3 является только пространством имен для C3.
A3::B3::C3.superclass
#=> A3::B3::C2
A3::B3::C3.superclass.superclass
#=> A3::B3::C1
A3::B3::C3.superclass.superclass.superclass
#=> Object
# or you can look A3::B3::C3.ancestors for full map
В то время как
A3.superclass
#=> A2
A2.superclass
#=> A1
Поэтому, когда вы помещаете один класс в другой, вы не наследуете, а вкладываете классы