Oi, Eduardo! Como vai?
Sua modelagem ficou bem organizada ao separar as responsabilidades entre Pet, Dono, Medico e Consulta. Um ponto de atenção está na lista Pets: como ela não foi inicializada no construtor de Dono, ao chamar Pets.Add(pet), o código pode gerar erro. Uma dica interessante para o futuro é inicializar listas no construtor ou direto na propriedade, assim:
public List<Pet> Pets { get; } = new List<Pet>();
public void AdicionarPet(Pet pet)
{
Pets.Add(pet);
}
Esse código cria a lista de pets antes de usar o método AdicionarPet, evitando erro ao tentar adicionar um item em uma lista nula. Também vale revisar a propriedade MyProperty em Pet, pois ela parece ter ficado como exemplo automático do Visual Studio e pode ser removida ou renomeada conforme a necessidade do projeto.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!