docs: def memory_dump():
      """
      References:
         http://stackoverflow.com/questions/141351/how-do-i-find-what-is-using-memory-in-a-python-process-in-a-production-system
      """
      import cPickle
      dump = open("memory.pickle", 'w')
      for obj in gc.get_objects():
          i = id(obj)
          size = sys.getsizeof(obj, 0)
          #    referrers = [id(o) for o in gc.get_referrers(obj) if hasattr(o, '__class__')]
          referents = [id(o) for o in gc.get_referents(obj) if hasattr(o, '__class__')]
          if hasattr(obj, '__class__'):
              cls = str(obj.__class__)
              cPickle.dump({'id': i, 'class': cls, 'size': size, 'referents': referents}, dump)