The reminder that a managed database and a cache do not protect you from loading every row into memory is the part that stays useful. Calling list() on a lazy query result looks harmless in review, especially when the goal is to cache the next page, and it can still be enough to take a server down. Checking that a report query has a date limit, and that the cache is not holding the whole result just to return the first page, seems like a useful review habit. Matching the OOM-killed process to the long-running request is also a clear way to tell that story.