Memory performance improvements

Implemented IDisposable where required. Removed all async events as
accessing members on an already disposed object throws exceptions.
Promoted the garbage collector to server mode.