IMO, cleaning memory leaks has the benefit of clearing valgrind output, which I think can make real errors more detectable.
Yeah, that's precisely how I got there.
Also, it seems that somebody cared about memory leaks at some point, because memory is freed on many code paths (both exceptional and not). But others are missing.