meshlab occassionally finds spurious self-intersections that don't seem to be correct - see this minimal example of just two faces. meshlab identifies the faces as self-intersecting. If I save the file as an ascii stl, the file no longer shows to be self-intersecting.
I've checked the binary content of the binary file to see if there are non-displayed triangles in case zero-area triangles are simply not shown but there don't seem to be.