Issue #6695: Full garbage collection runs now clear the freelist of set objects.
Initial patch by Matthias Troffaes.
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 5375bd1..a05a97b 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -1068,9 +1068,10 @@
     return emptyfrozenset;
 }
 
-void
-PySet_Fini(void)
+int
+PySet_ClearFreeList(void)
 {
+    int freelist_size = numfree;
     PySetObject *so;
 
     while (numfree) {
@@ -1078,6 +1079,13 @@
         so = free_list[numfree];
         PyObject_GC_Del(so);
     }
+    return freelist_size;
+}
+
+void
+PySet_Fini(void)
+{
+    PySet_ClearFreeList();
     Py_CLEAR(dummy);
     Py_CLEAR(emptyfrozenset);
 }