I have a 512×512 image that I need to tile for a background.
I am doing this by setting SamplerState.LinearWrap and setting a larger source rectangle on the image.
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.NonPremultiplied, SamplerState.LinearWrap, DepthStencilState.Default, RasterizerState.CullNone);
spriteBatch.Draw(texture, bounds, bounds, Color.White);
spriteBatch.End();
bounds is new Rectangle(0, 0, 1024, 768)
Right now it is looking like this:

Those lines are where the image is being tiled. The original png does not have any lines on the edges (I zoomed in and checked it out in Photoshop).
What is going on here to cause this? Here is an example project on DropBox.
I tried using a non-power-of-two texture, and it gave an error on the SamplerState, so I am using a texture of proper size, I believe.
Seems to be a graphical artifact in the image.
I copied and pasted a section of the image to the edges and it works as expected, your code is working. Try it with a different image to confirm.