This hit home! I recently had a similar "why is this OOM again?!" moment with a pandas pipeline. Switching to Polars' lazy evaluation for a multi-step join and filter was the exact turning point that made things predictable. Great write-up on a very real pain point.