Hmmm, kann mir nicht vorstellen, dass es daran liegt. DisposeOf ruft doch nur den Destruktor auf. Würde ja bedeuten, im Destruktor wird die Notification wieder gelöscht.
Kann doch gut sein.
MyNotification := NotificationCenter1.CreateNotification
sieht nach klassischem Factory Pattern aus. Oft ist dann die Factory-Class auch der Owner des erzeugten Objekts und kümmert sich eigenständig um die Freigabe. Wenn du dann vorzeigtig "per Hand" freigibst, bereitet das entsprechend Probleme.