EF 4.3 (Code First) - ICollection personalizado Falha ao pegar novos itens

Isto é em referência à pergunta que fiz sobrecomo determinar quando itens são adicionados à propriedade ICollection virtual. Como sugerido, criei uma coleção personalizada que herda da coleção como mostrado abaixo

public class EntityCollection<T> : Collection<T>
{
    protected override void InsertItem(int index, T item)
    {
        base.InsertItem(index, item);
    }
}

Isso está sendo usado como

public class DbAppointment
{
    public DbAppointment()
    {
        exceptionOcurrences = new EntityCollection<DbExceptionOcurrence>();
    }

    public virtual int AppointmentId { get; set; }
    public virtual string Subject { get; set; }
    public virtual string Body { get; set; }
    public virtual DateTime Start { get; set; }
    public virtual DateTime End { get; set; }

    private ICollection<DbExceptionOcurrence> exceptionOcurrences;
    public virtual ICollection<DbExceptionOcurrence> ExceptionOcurrences
    {
        get { return exceptionOcurrences; }
        set { exceptionOcurrences = value; }
    }
}

O problema é a única vez que o método InsertItem substituído parece ser chamado se eu inicializar o banco de dados com um inicializador personalizado (código de exemplo abaixo) e substituir o método de semente !! O que estou fazendo de errado?

Cheers Abs

public class ContextInitializer : DropCreateDatabaseAlways<Context>
{
    protected override void Seed(Context context)
    {
        new List<DbAppointment>
        {
            new DbAppointment{ Subject = "hello", Body="world", Start=DateTime.Now,  End=DateTime.Now.AddMinutes(30)},

        }.ForEach(a => context.Appointments.Add(a));

        new List<DbExceptionOcurrence>
        {
            new DbExceptionOcurrence{ExceptionDate=DateTime.Now}
        }.ForEach(eo => context.ExceptionOcurrences.Add(eo));

        base.Seed(context);
    }
}

questionAnswers(0)

yourAnswerToTheQuestion