The Uninitialize method resets the internal state of the
control. This method is not typically used because any resources that
have been allocated by an instance of the control will automatically
be released when it is destroyed.
Each time the Initialize method is invoked, it increments an
internal counter that keeps track of the number of times that it has
been called by any thread in the current process. The Uninitialize
method decrements this counter, and when the usage count drops to
zero, the control will automatically unload the system libraries that
it has dynamically loaded and will destroy the process heap that was
allocated when the first instance of the control was created. An
application should only call the Uninitialize method if it has
explicitly called the Initialize method.