Each text mesh takes up a certain number of triangles. The max chars field determines this. Set this to as little as you can, as large text meshes can't batch effectively. Eg. once you get to certain number of triangles, it will no longer be effective to batch these.
To get things to be more batch friendly, first sort out the above, and then group things closer in z. Eg. all from font 1 at 1 z value, and so on to help improve batching.