The @memoized decorator on get_course_outline_block_tree is most likely causing a memory leak. This decorator caches the value throughout the lifetime of the edxapp instance. It's not cached just for a particular request. Also, since the request object is passed in, it will create a new cache entry for each request.
I don't believe the memoized decorator is what you want here. Please see its docstring.