Die Klasse System.Threading.Timer verfügt über eine parameterlose Dispose-Funktion zur Freigabe. Laut Dokumentation sind jedoch Timer-Ereignisse nach der Freigabe möglich. Deshalb sollte die parameterlose Variante der Dispose-Funktion besser nicht benutzt werden.
The Software Development Blog