DrawMesh always drawn before gameobjects

On my GUI camera I use `Graphics.DrawMesh` to draw an overlay (text) and I have a background image is just a gameobject with a textured plane. Although the shader used for the overlay material is tagged to be in the overlay queue and the shader used in background material is tagged to be in the background queue it seems that the overlay still gets drawn first. How can I get the `DrawMesh` stay in order?

I'm calling `Graphics.DrawMesh` from `LateUpdate` by the way.

Can you make use of OnRenderObject to get around this?