Are you using any effects for the sprites? Based off the initial SpriteBatch.Begin, it doesn’t look like it. You will have to manually reset the GraphicsDevice’s states rather than the Effect’s. You can set the BlendState, DepthStencilState, RasterizerState back to what they were before drawing the models. It might be easiest to call End then Begin again to achieve this.
Managing the draw calls with SpriteBatch is more work, but the performance benefits are worth it. Once this is working with Immediate, I highly recommend looking into batching your sprites and text together.