If you are drawing a combination of 3d items and 2d items (using SpriteBatch) then calling spriteBatch.Begin()
will reset the fillmode back to solid. So in that case you have to set it to wireframe each frame (or use saveState with your spritebatch) when you draw your 3d items.
If you are only drawing 3d items then you can set it once during initialization and not need to keep resetting it.
If you need to set it each frame, don't do it like your snippet. That's allocating new memory each frame that ends up needing to be gc(ed). Instead, make one custom RasterizationState object and reuse it each frame.