Я думаю, что вы перепутали некоторые детали.
Когда вы создаете объект, где класс этого объекта наследуется от другого класса, это не значит, что вы получаете два объекта в памяти.
Вы получаете только один, но в нем есть место для полей, которые поступают из обоих.
Другими словами, если исходному классу нужны 10 байтов для хранения его полей, а вашему унаследованному классу нужны 5 байтов для хранения его определенных полей, при создании объекта из унаследованного класса он будет занимать 15 байтов, где Первые 10 соответствуют полям из базового класса. (обратите внимание, это очень упрощенное объяснение, еще много чего зависит от фактического размера объектов).