Cloudcompare can handle quite alot of points. Only make sure to deactivate normals in the Properties window on the left. When I load + 100 Million points, I usually minimize the viewport window, uncheck the normals and then maximize again- It's just so that shading is deactivated, which slows down the viewport dramatically.
Cloudcompare hasn't really been developed for meshes, rather for working with pointclouds. So there are no hole filling options (switch to meshlab for that). But then again, the poisson reconstruction provides a watertight mesh and the density output is really useful, since you can use that for segmenting the mesh. Areas, which one wants to keep, even though the density isn't that high, can be segmented again and merged back to the main mesh.
Scalarfields in Cloudcompare are really great!