Cache problem on entity view mode teaser
I ran into the same problem recently.
Adding a key to the ['#cache']['keys'] array as unique id solved my cache problem.
For your case it should be like this :

$view_builder = \Drupal::entityTypeManager()-&gt;getViewBuilder('node');
$vars['renderable_node'] = $view_builder-&gt;view($referenced_node, 'teaser');
$vars['renderable_node']['#cache']['keys'][] = "page_1";


On your second call to the teaser node then it should be like this :

$view_builder = \Drupal::entityTypeManager()-&gt;getViewBuilder('node');
$vars['renderable_node'] = $view_builder-&gt;view($referenced_node, 'teaser');
$vars['renderable_node']['#cache']['keys'][] = "page_2";