This method cleans up the event semaphore when it is garbage collected.
Note
uninit should not be invoked directly except via
an uninit method of a subclass of the EventSemaphore class.
Any such subclassed uninit method must forward to the superclass uninit method.