Splice together 2 WP_Query objects

I’m not sure I understand the question, but if you just wan’t do display something from resultset B on every nth iteration, you could use next_post() or simply call the_post() on the second query object. Of course you also need to check so there’s enough items left in the result and so on:

$query1 = new WP_Query(array('post_type' => 'post'));
$query2 = new WP_Query(array('post_type' => 'page'));

// loop through each post and display the title of a page from the second query
// for every third item
while($query1->have_posts()):
  $query1->the_post();

  print get_the_title().'<br />';

  // grab a entry from our second query if we haven't reached the end yet
  if(($query1->current_post + 1) % 3 == 0 && ($query2->current_post + 1) < $query2->post_count):
    $query2->the_post();
    print get_the_title().'<br />';
  endif;

endwhile;