Det er ikke så meget en fejl som et tilfælde af uopfyldte forventninger. Kun det øverste niveau _id tildeles automatisk en værdi. Alle indlejrede _id'er skal tildeles værdier af klientkoden (brug ObjectId.GenerateNewId). Det er også muligt, at du ikke engang har brug for et ObjectId i Address-klassen (hvad er formålet med det?).