That’s how it was designed but like you we think it was a poor design choice.
There is a very simple library hack to fix the problem which @Gunner has linked to.
Your code as you currently have it looks buggy, read from RF 433 Mhz on virtual pin doesn't want to send (with scheduling) - #64 by distans to the end of the thread.