I used your blend file as a test case for this, i merged every body part component, and the result is quite interesting visually:
This is a question that DarthParametric could probably answer more correctly, but my guess is that there is a hard limit on the number of Trimesh Bones that can influence one mesh object. As a result the mesh needs to be split into many pieces, each with a smaller number of bone influences. I've counted the number of vert groups on each mesh, 16 bone influences for each bodypart. You can definitely join them and model to your heart's content, but when you export it is recommended to split the mesh, at least the arms.
A quick tip: If you decide to join the each mesh when modelling, the vertex groups will also pile together. I believe it is required for each mesh to have only the vertex groups (bone weights) that correspond to the Trimesh Bones. If any other extra non-deforming vertex group exists, a huge error warning will occur. You can use an add-on called EasyWeights to clear out the extra unused vertexgroups on a mesh. It's made by the guy responsible for the animation rigs at the BlenderStudio,
Oh and another semi-related tip:. When working with vertex groups, they must be 100% percent Normalized, otherwise other visual bugs will occur.
Edit: i did a little search and i found this topic, about the bone limit on a mesh, with a bit of useful info.