C
The problem is the overlay scheme - when you make changes, you don't actually replace the existing files in the same storage blocks, rather you use additional blocks to store the updated files, with the overlay system then hiding the original versions as they continue to take up space.
The only real fixes are to
not replace as many existing files
put the versions you need in the read only partition; technically this can be done by skilled use of uImage and squashfs tools without the rebuild from source that would normally be used to generate a custom disk image (over a year in, building from source still doesn't yield a system with working wifi), but it would be a fairly tricky process to figure out
use some other storage media, though beware that SD cards tolerate unprepared power cycling and even usage for Linux type filesystems relatively poorly.
Changing the size of the tmpfs partitions won't help, as those are ramdisks, and only really use memory to the extent that they are utilized, which the 1% and 0% numbers indicate they are not.