Multiple Gstreamer pipeline for multiple model as same time

I want to run multiple nvinfer model for inference at same time.
One solution is that to create multiple nvinfer element with using tee element in one pipeline and another solution is that to create multiple gstreamer pipelines and add each nvinfer model into separated pipeline.
As you know using GMainLoop use only one thread (Opening in BLOCKING MODE).
Q1- What’s cons and pros of first solution? Additionally to heavy load?
Q2- How we can use (Opening in NON-BLOCKING MODE)?
Q3- What’s pros and cons of Opening in NON-BLOCKING MODE than (Opening in BLOCKING MODE)? When we must to use each other?

With this purpose, you can set sgie working like pgie in sgie config file

No, suppose I have 5 detecor that I want to feed all streams into 5 detector (pgie) as parallel at the same time.