Using RVO Simulator with threads causes major performance loss. Using these settings:
Scripting Runtime Version: .NET 4
Scripting Backend: IL2CPP
API Compatibility: .NET 2
If I switch the RVO simulator to not use threads then performance actually improves but is still poor.
Using same project but with Scripting Runtime Version set to .Net 3.5, performance is excellent. I did comment on a bug with random crashes and also a fix for that.