In reply to Subhra Bera:
I think problem is because of objection ,I am not sure if you are waiting for all transactions to complete before dropping the objection from test/seq .
You can use +UVM_PHASE_TRACE and +UVM_OBJECTION_TRACE defines to debug the objections and phase resp and check why objections are getting dropped before all transactions are finished . You need to put some delay before objection drop .
Also if you don’t want to control objections (put delay for dropping objection) , use set_drain_time ,so that even if objections are dropped , run_phase will continue to run for defined drain time .