Course structure cache never expire in juniper.3

My open edX site runs juniper.3 and I have found the size of memcached continues increasing these days.
I spent some time in analyzing contents in memcached and found most keys start with course_structure:xxxx, which are cache for course structure.
In Django settings, the expire time for course_structure cache was set to 7200 seconds, but seems that it is not working as a lot of very old keys still exist. I looked into CourseStructureCache code in common/lib/xmodule/xmodule/modulestore/split_mongo/ and found below code snippet:

def set(self, key, structure, course_context=None):
    """Given a structure, will pickle, compress, and write to cache."""
    if self.cache is None:
        return None

    with TIMER.timer("CourseStructureCache.set", course_context) as tagger:
        pickled_data = pickle.dumps(structure, 4)  # Protocol can't be incremented until cache is cleared
        tagger.measure('uncompressed_size', len(pickled_data))

        # 1 = Fastest (slightly larger results)
        compressed_pickled_data = zlib.compress(pickled_data, 1)
        tagger.measure('compressed_size', len(compressed_pickled_data))

        # Stuctures are immutable, so we set a timeout of "never"
        self.cache.set(key, compressed_pickled_data, None)

There are comments "# Stuctures are immutable, so we set a timeout of “never”, does this mean in current open edX implementation, course structure will always stay in memcached as long as it is created? Is there a mechanism to delete old keys?