As you both point out, that is useful only for purposes of running
valgrind. addr2line itself has no leak since it just exits. But this
is a way to test for leaks in the library code (like libc_freeres).
For that, it is useful to put superfluous end/free into test programs,
but probably not desireable in a real program like addr2line.
There is still some loss because of absense of ebl_closebackend for
__libdwfl_module_free does that.
Please cite this leak scenario you claim exists.
Thanks,
Roland