C #: acionando um evento quando um objeto é adicionado a uma fila

Preciso ser capaz de disparar um evento sempre que um objeto é adicionado a umQueue<Delegate>.

Criei uma nova classe que estendeQueue:

public delegate void ChangedEventHandler(object sender, EventArgs e);

public class QueueWithChange<Delegate> : Queue<Delegate>
{
    public event ChangedEventHandler Changed;

    protected virtual void OnChanged(EventArgs e) {
        if (Changed != null)
        {
            Changed(this, e);
        }
    }
}

E, em seguida, anexou o evento de outra classe, como:

QueueWithChange<TimerDelegate> eventQueue = new QueueWithChange<TimerDelegate>();

//

eventQueue.Changed += new ChangedEventHandler(delegate(object s, EventArgs ex) {
    //This event is not being triggered, so this code is unreachable atm...and that is my problem

    if (eventQueue.Count > 0)
    {
        eventQueue.Dequeue().Invoke(new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(5) });
        actionTimer.Stop();
    }
});

Mas sempre que enfileirar um objeto eventQueue.Enqueue(something)), o evento anexado não está sendo disparado.

O que estou perdendo aqui

questionAnswers(4)

yourAnswerToTheQuestion