Destroy is the destructor for the object instance. Destroy will free all threads in ThreadPool, using using TIdThreadList.LockList and TIdThreadList.UnlockList to protect resources, and free the ThreadPool prior to calling the inherited Destroy destructor.