Anyone knows the correct way of parenting the mesh to the rig?
Your mesh is set to flat shaded and then smoothed by subdivision modifier that cranks the model to 4 million faces and that is way it is getting laggy. This is not a proper way to make smooth models.

Select the mesh, find "Shading" in the left panel and click "Smooth". This provides smoothing that makes the subsurface modifier unnecessary. If you need some edges sharp, add an edge split modifier. You can further teak which edges are sharp and which smooth if you untick "edge angle" and go into edit mode, select the sharp edges and CTRL-E -> mark sharp and only those edges will be sharp.

The mesh seems to deform well with the amount of faces without subsurface modifier although the resolution still seems little high at certain places depending on the intended use.