Array + Subsurf causes undesired pattern
Your source mesh has front and back capping faces, deleting those gets rid of the seams:



However, there's a better way to build this shape. Get rid of the cylinder, and add a bezier or nurbs circle. On the path (not the circle) go down to bevel object, and select the circle from the dropdown, and also check "fill caps"



Not only do you not need to worry about open ends of the path vs seams, but you have total control over the polygon count of the resulting shape. The "resolution" setting on the path controls divisions along the length of the path, and the "resolution" setting on the circle controls the divisions around the tube.