I've heard that it's Illustrator trying to anti-alias each tile individually. It happens even with the built-in swatches. If they're showing up on export to a raster format, try using the "art optimized" sampling. Another option is to create the swatch with horizontal or vertical hatches, and then rotate the fill. Obviously that won't work for most patterns though but should work fine for your case.
*addendum* If you have CS6 or CC, try making your pattern in the new pattern maker (Object > Pattern > Make). I was just playing around with it again and couldn't get the tiling bug to show up with any patterns made within it. But if I made the same exact pattern the old way (drawing an invisible rectangle over some artwork, then grouping it and dragging it to the swatches panel) the hairlines show up again. The nice thing about the new pattern making tool is that you can specify different tiling schemes in addition to grid, such as brick or hexagon tiles.