def METHOD_NAME(self):
    # See ``test_create_memory_clients_in_loop`` to understand why
    # waiters are first initialized and then freed. Same reason applies.
    self.cmd('create_multiple_waiters', '200', 's3', 'bucket_exists')
    self.cmd('free_waiters')
    self.record_memory()
    # 500 waiters in batches of 50.
    for _ in range(10):
        self.cmd('create_multiple_waiters', '50', 's3', 'bucket_exists')
        self.cmd('free_waiters')
    self.record_memory()
    start, end = self.memory_samples
    self.assertTrue((end - start) < self.MAX_GROWTH_BYTES, (end - start))