Código EF EF: devo inicializar as propriedades de navegação?

Eu tinha visto alguns livros (por exemplo,código de estrutura da entidade de programação primeiro Julia Lerman) definem suas classes de domínio (POCO) sem inicialização das propriedades de navegação, como:

public class User
{
    public int Id { get; set; }
    public string UserName { get; set; }

    public virtual ICollection<Address> Address { get; set; }
    public virtual License License { get; set; }
}

alguns outros livros ou ferramentas (por exemplo,Ferramentas elétricas da estrutura de entidades) quando gera POCOs inicializa as propriedades de navegação da classe, como:

public class User
{
    public User()
    {
        this.Addresses = new IList<Address>();
        this.License = new License();
    }
    public int Id { get; set; }
    public string UserName { get; set; }

    public virtual ICollection<Address> Addresses { get; set; }
    public virtual License License { get; set; }
}
Q1: Qual é o melhor? porque? Prós e contras?

Editar:

public class License
{
    public License()
    {
        this.User = new User();
    }
    public int Id { get; set; }
    public string Key { get; set; }
    public DateTime Expirtion { get; set; }

    public virtual User User { get; set; }
}
Q2: Na segunda abordagem, haveria excesso de pilha se a classe `License` também tiver uma referência à classe` User '. Isso significa que devemos ter referência unidirecional. (?) Como devemos decidir qual das propriedades de navegação deve ser removida?