revert tstate_delete_common, since it's pretty much wrong
diff --git a/Python/pystate.c b/Python/pystate.c
index 7584ea0..eb992c1 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -315,16 +315,9 @@
         Py_FatalError(
             "PyThreadState_DeleteCurrent: no current tstate");
     _PyThreadState_Current = NULL;
-    /*
-      Only call tstate_delete_common to have the tstate if we're not finalizing
-      or we're the main thread. The main thread will do this for us. Not calling
-      tstate_delete_common means we won't lock the interpreter head lock,
-      avoiding a possible deadlock with the GIL.
-    */
-    if (!_Py_Finalizing || _Py_Finalizing == tstate)
-        tstate_delete_common(tstate);
     if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
         PyThread_delete_key_value(autoTLSkey);
+    tstate_delete_common(tstate);
     PyEval_ReleaseLock();
 }
 #endif /* WITH_THREAD */