I would also recommend to outline stokes in a pattern. As your example show, the stroke is causing the problem.
After outlining strokes you can draw a square above all elements and go to Object > Path > Divide all objects below and then delete all objects outside that square.
From CS6 upwards pattern creation has done a massive change.