diff --git a/swiftclient/client.py b/swiftclient/client.py
index 4be2e2d6..448bb468 100644
--- a/swiftclient/client.py
+++ b/swiftclient/client.py
@@ -438,6 +438,15 @@ class HTTPConnection(object):
         if timeout:
             self.requests_args['timeout'] = timeout
 
+    def __del__(self):
+        """Cleanup resources other than memory"""
+        if self.request_session:
+            # The session we create must be closed to free up file descriptors
+            try:
+                self.request_session.close()
+            finally:
+                self.request_session = None
+
     def _request(self, *arg, **kwarg):
         """Final wrapper before requests call, to be patched in tests"""
         return self.request_session.request(*arg, **kwarg)