My impression is that gnuradio is fine for prototyping/poc, but has issues in its design when you try and run production workloads with more complex workflows (ie, writing custom Mac layers/ workflows that involve heavy feedback, etc. you end up having to do a a lot of hacking around with the message passing infrastructure).
That being said last I used it extensively was v3 so maybe v4 is better. Did they get rid of thread per block and allow you to have a single thread service a sub signal chain? I remember that the number of context switches between threads, and balancing latency vs buffer sizes was a pain in the rear.