ObjectInitializer.DoNotCreateDefaultSubobject is not working

I’m currently trying to customize deriving a character class.
I was able to remove the mesh component with adding
" DoNotCreateDefaultSubobject( ACharacter::CharacterMovementComponentName ) "
after constructor of derived character class.

But I can’t remove the capsule component and the character movement component with below method.

ObjectInitializer.DoNotCreateDefaultSubobject( ACharacter::CapsuleComponentName )

Does anyone know the reason why above method doesn’t remove the capsule component ? Is it because it’s a root ? Or it has a child component ?