Hi,
Platform does not set lookup of parent entity on child entity while create. Instead system will update the lookup field in separate call. To verify my statement I use below code to Create Employee and Building using deep insert code -
// Use Entity class with entity logical name
var account = new Entity("msft_employee");
// Set attribute values
// string primary name
account["msft_employeenumber"] = "Sample Employee";
// Create Building
var primaryContact = new Entity("bc_building");
primaryContact["bc_name"] = "Test Plugin";
// Add the contact to an EntityCollection
EntityCollection primaryContactCollection = new EntityCollection();
primaryContactCollection.Entities.Add(primaryContact);
// Set the value to the relationship
account.RelatedEntities[new Relationship("cr127_bc_Building_Employee_msft_Employee")] = primaryContactCollection;
// Create the account
Guid accountid = crmSvc.Create(account);
Now when I look at Audit history of Child Entity, I see two record -
One for Create with all field for Building Entity(Child)
Another for Update to set the lookup field.

Please mark my answer verified if this is helpful!
Regards,
Bipin Kumar
Follow my Blog: xrmdynamicscrm.wordpress.com/