Het is niet zozeer een bug als wel een geval van onvervulde verwachtingen. Alleen het hoogste niveau _id krijgt automatisch een waarde toegewezen. Aan alle ingesloten _id's moeten waarden worden toegewezen door de clientcode (gebruik ObjectId.GenerateNewId). Het is ook mogelijk dat je niet eens een ObjectId nodig hebt in de klasse Address (wat is het doel ervan?).