You may find the answer here. It seems that QT itself reacts to the timeout and calls abort() to close the connection. You therefore receive the OperationCanceledError error.
abort()
OperationCanceledError