I asked some of the Bevy people about that. They didn't have a fix for this either. They have internal concurrency, but they use WGPU with one queue, so, in the end, everything goes through one thread. I think.
Bevy's renderer, I am told, requires that you do everything Bevy's way. They have their own run-time entity-component object ownership system. Sharpview uses vanilla Rust ownership - single ownership when possible, Arc/Mutex when necessary. So there's a mismatch there.
This is related to the everybody-wants-to-be-a-framework problem, where the framework calls you and you doing things their way, rather than a library which just accepts calls. Frameworks want to own the event loop. This tends to result in pain when there's more that one framework. I'm currently hammering Rend3's framework into playing well with Winit's new framework. I'll make that work, but I'd rather be doing something else.