Why does the smooth brush create holes in my model?
Those are the result of unconnected geometry forming the mesh.

Some of edges forming faces are extruded and placed atop of another edges. Thus those vertices meet in nearly the same place, but they do not share the same edges:



Once you sculpt, those will reveal themselves because geometry is not connected and one edge will be moved more than another. However these aren't double vertices so you won't be able to fix this by deleting duplicating geometry as vertices do not share the same place.

To quickly fix it use Remesh modidifer. The example mesh has quite bad topology with a lot of Ngons, interrupted loopcuts (and several double vertices, remove them with W > Remove Doubles). With Remesh modifier you will be able to quickly generate new topology:





You can also fix that manually.  


Delete vertices which aren't connected (see the first screenshot),
Select the resulting hole and fill a face.


From there on you will be able to edit that geometry as closed, so adding more edge loops, cutting where needed etc.

This is quite related question:

Why do gaps appear in my mesh when I animate it?

Do note - for good sculpt you'll want even topology (kind of one resulting from the Remesh modifier), so avoid Ngons unless working on completely flat surfaces (which aren't the case in your example) and even then they might be undesirable.