You released the session manager in your RegisterMonitor function. Once you release the last reference to the session manager it is freed and you'll no longer receive session notifications.
Keep the session manager object alive and it should work just fine.