Your assumption is correct. EmbeddedObject is a sub type of RealmObject with a very specific set of features. They are embedded into one and only one other RealmObject.
We do check if embedded objects are orphaned (not embedded anywhere else) or do even have more than one parent and throw an exception if this is not fulfilled.
Having an EmbeddedObject not being linked to any other RealmObject would not make sense because you cannot create a standalone EmbeddedObject.
If you like to ignore this feature / exception you can always just set the model class to be a ‘normal’ RealmObject instead.
Having an EmbeddedObject not being linked to any other RealmObject would not make sense in development phase. You can define EmbeddedObject first and then use it later.