In reply to sdesai:
One thing your simplified code does not show is construction of the sequences. Every sequence you start needs to be newly constructed. This especially true if ob_agent_num gets repeated.
You probably should have ob_seq be an array of uvm_object_wrapper objects instead of the actual sequence objects.
begin
your_sequence_base seq;
a = ....;
b = ....;
ob_agent_num = $urandom_range(0,7);
$cast(seq,ob_seq[ob_agent_num].create_object(...);
seq.randomize;
seq.start(p_sequencer.ob_agent_sequencer[ob_agent_num]);
end
See this link for more examples of uvm_object_wrapper.