you can still wrap the medium speed/slower stuff in virtual threads.
Also is that VT allocation more than all of the extra allocations from reactive frameworks internally? Or all of the heap capturing lambdas that you pass to reactive libraries? Do you have a source comparing any of this?
One object per stack frame of a virtual thread is cheaper than one callback object per suspension point.