bpo-44553: Correct failure in tp_new for the union object (GH-27008) (GH-27009)

(cherry picked from commit bc3961485639cc73de7c4c7eed1b56f3c74939bf)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
diff --git a/Objects/unionobject.c b/Objects/unionobject.c
index cc7181d..8435763 100644
--- a/Objects/unionobject.c
+++ b/Objects/unionobject.c
@@ -490,10 +490,10 @@ _Py_Union(PyObject *args)
     }
 
     result->args = dedup_and_flatten_args(args);
+    _PyObject_GC_TRACK(result);
     if (result->args == NULL) {
-        PyObject_GC_Del(result);
+        Py_DECREF(result);
         return NULL;
     }
-    _PyObject_GC_TRACK(result);
     return (PyObject*)result;
 }