It appears that the ClassHierarchyDescriptor and RTTI_Base_Class_Array models are only being built when a valid CompleteObjectLocator model is located. However, a CompleteObjectLocator only always exists when a Class has a virtual function or a base class with one. This leaves a potentially large amount of models which haven't been marked up.
The CreateRtti4BackgroundCmd is being left to create the rtti2 & rtti3 models yet it is possible for 2 & 3 to exist but not 4.
https://github.com/NationalSecurityAgency/ghidra/blob/02df944b0e62c6d94f55f93b6682d70a444c705c/Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/plugin/prototype/MicrosoftCodeAnalyzerPlugin/RttiAnalyzer.java#L155-L161
It appears that the ClassHierarchyDescriptor and RTTI_Base_Class_Array models are only being built when a valid CompleteObjectLocator model is located. However, a CompleteObjectLocator only always exists when a Class has a virtual function or a base class with one. This leaves a potentially large amount of models which haven't been marked up.
The CreateRtti4BackgroundCmd is being left to create the rtti2 & rtti3 models yet it is possible for 2 & 3 to exist but not 4.