As previously mentioned, try to stop the timer as soon as the delegate is called (so that the timer will not schedule another **Tick** event in an unfortunate event of delay in our processing).

```
delayTimer.Tick += delegate(object sender1, EventArgs e1)
{
    (sender1 as DispatcherTimer).Stop();

    // bla bla black sheep
}
```