<h3 dir="auto">Version</h3>
<p dir="auto">2.6.10</p>
<h3 dir="auto">Reproduction link</h3>
<ul dir="auto">
<li><a href="https://codepen.io/yhor1e/pen/agPbrL" rel="nofollow">https://codepen.io/yhor1e/pen/agPbrL</a></li>
<li><a href="https://github.com/yhor1e/vue-10249-reproduction">https://github.com/yhor1e/vue-10249-reproduction</a></li>
</ul>
<h3 dir="auto">Steps to reproduce</h3>
<ol dir="auto">
<li>Input data to the text field and push the enter button.</li>
<li>Take a heap snapshot in Chrome Developer Tools.</li>
<li>Click "Go to Second" button.</li>
<li>Click "Go to First" button.</li>
<li>Take a heap snapshot in Chrome Developer Tools.</li>
<li>Compare step5 heap snapshot with step2 heap snapshot. Then elements increased.</li>
</ol>
<h4 dir="auto">examples</h4>
<p dir="auto"><strong>ex1. Done the above steps with 1 input data.</strong><br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10266230/60887518-9d9f5a00-a28f-11e9-87e0-6c74e2290318.png"><img src="https://user-images.githubusercontent.com/10266230/60887518-9d9f5a00-a28f-11e9-87e0-6c74e2290318.png" alt="1" style="max-width: 100%;"></a></p>
<p dir="auto"><strong>ex2. Done the above steps with 10 input data after ex1.</strong><br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10266230/60887890-61b8c480-a290-11e9-98ce-833783c61c78.png"><img src="https://user-images.githubusercontent.com/10266230/60887890-61b8c480-a290-11e9-98ce-833783c61c78.png" alt="2" style="max-width: 100%;"></a></p>
<h3 dir="auto">What is expected?</h3>
<p dir="auto">Elements don't increase. (#Delta is 0)</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">Elements increase. (#Delta is not 0)</p>
<hr>
<p dir="auto">This maybe shows memory leaks.<br>
Is this a bug?</p>
<h3 dir="auto">Version</h3>
<p dir="auto">2.6.10</p>
<h3 dir="auto">Reproduction</h3>
<div class="highlight highlight-text-html-basic notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;
    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;ie=edge&quot; /&gt;
    &lt;title&gt;Document&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;script src=&quot;https://unpkg.com/vue&quot;&gt;&lt;/script&gt;

    &lt;div id=&quot;app&quot;&gt;
      &lt;div id=&quot;nav&quot;&gt;
        &lt;button @click=&quot;goHome&quot;&gt;go to Home&lt;/button&gt;
        &lt;button @click=&quot;goAbout&quot;&gt;go to About&lt;/button&gt;
      &lt;/div&gt;
      &lt;component :is=&quot;current&quot;&gt;&lt;/component&gt;
    &lt;/div&gt;

    &lt;script&gt;
      const Home = {
        name: 'Home',
        template: `
      &lt;div&gt;
        &lt;h2&gt;Home&lt;/h2&gt;
      &lt;/div&gt;
      `,
      }

      const About = {
        template: `
        &lt;div class=&quot;about&quot;&gt;
    &lt;h1&gt;This is an about page&lt;/h1&gt;
    &lt;input type=&quot;text&quot; v-model=&quot;input&quot;&gt;
  &lt;/div&gt;
      `,
        name: 'about',
        data: () =&gt; ({
          input: '',
        }),
      }

      const vm = new Vue({
        el: '#app',
        data() {
          return {
            current: 'Home',
          }
        },

        methods: {
          goHome() {
            this.current = 'Home'
          },
          goAbout() {
            this.current = 'About'
          },
        },
        components: { Home, About },
      })
    &lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;"><pre class="notranslate"><span class="pl-c1">&lt;!DOCTYPE html<span class="pl-kos">&gt;</span></span>
<span class="pl-kos">&lt;</span><span class="pl-ent">html</span> <span class="pl-c1">lang</span>="<span class="pl-s">en</span>"<span class="pl-kos">&gt;</span>
  <span class="pl-kos">&lt;</span><span class="pl-ent">head</span><span class="pl-kos">&gt;</span>
    <span class="pl-kos">&lt;</span><span class="pl-ent">meta</span> <span class="pl-c1">charset</span>="<span class="pl-s">UTF-8</span>" /&gt;
    <span class="pl-kos">&lt;</span><span class="pl-ent">meta</span> <span class="pl-c1">name</span>="<span class="pl-s">viewport</span>" <span class="pl-c1">content</span>="<span class="pl-s">width=device-width, initial-scale=1.0</span>" /&gt;
    <span class="pl-kos">&lt;</span><span class="pl-ent">meta</span> <span class="pl-c1">http-equiv</span>="<span class="pl-s">X-UA-Compatible</span>" <span class="pl-c1">content</span>="<span class="pl-s">ie=edge</span>" /&gt;
    <span class="pl-kos">&lt;</span><span class="pl-ent">title</span><span class="pl-kos">&gt;</span>Document<span class="pl-kos">&lt;/</span><span class="pl-ent">title</span><span class="pl-kos">&gt;</span>
  <span class="pl-kos">&lt;/</span><span class="pl-ent">head</span><span class="pl-kos">&gt;</span>
  <span class="pl-kos">&lt;</span><span class="pl-ent">body</span><span class="pl-kos">&gt;</span>
    <span class="pl-kos">&lt;</span><span class="pl-ent">script</span> <span class="pl-c1">src</span>="<span class="pl-s">https://unpkg.com/vue</span>"<span class="pl-kos">&gt;</span><span class="pl-kos">&lt;/</span><span class="pl-ent">script</span><span class="pl-kos">&gt;</span>

    <span class="pl-kos">&lt;</span><span class="pl-ent">div</span> <span class="pl-c1">id</span>="<span class="pl-s">app</span>"<span class="pl-kos">&gt;</span>
      <span class="pl-kos">&lt;</span><span class="pl-ent">div</span> <span class="pl-c1">id</span>="<span class="pl-s">nav</span>"<span class="pl-kos">&gt;</span>
        <span class="pl-kos">&lt;</span><span class="pl-ent">button</span> <span class="pl-c1">@click</span>="<span class="pl-s">goHome</span>"<span class="pl-kos">&gt;</span>go to Home<span class="pl-kos">&lt;/</span><span class="pl-ent">button</span><span class="pl-kos">&gt;</span>
        <span class="pl-kos">&lt;</span><span class="pl-ent">button</span> <span class="pl-c1">@click</span>="<span class="pl-s">goAbout</span>"<span class="pl-kos">&gt;</span>go to About<span class="pl-kos">&lt;/</span><span class="pl-ent">button</span><span class="pl-kos">&gt;</span>
      <span class="pl-kos">&lt;/</span><span class="pl-ent">div</span><span class="pl-kos">&gt;</span>
      <span class="pl-kos">&lt;</span><span class="pl-ent">component</span> <span class="pl-c1">:is</span>="<span class="pl-s">current</span>"<span class="pl-kos">&gt;</span><span class="pl-kos">&lt;/</span><span class="pl-ent">component</span><span class="pl-kos">&gt;</span>
    <span class="pl-kos">&lt;/</span><span class="pl-ent">div</span><span class="pl-kos">&gt;</span>

    <span class="pl-kos">&lt;</span><span class="pl-ent">script</span><span class="pl-kos">&gt;</span>
      <span class="pl-k">const</span> <span class="pl-v">Home</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span>
        <span class="pl-c1">name</span>: <span class="pl-s">'Home'</span><span class="pl-kos">,</span>
        <span class="pl-c1">template</span>: <span class="pl-s">`</span>
<span class="pl-s">      &lt;div&gt;</span>
<span class="pl-s">        &lt;h2&gt;Home&lt;/h2&gt;</span>
<span class="pl-s">      &lt;/div&gt;</span>
<span class="pl-s">      `</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span>

      <span class="pl-k">const</span> <span class="pl-v">About</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span>
        <span class="pl-c1">template</span>: <span class="pl-s">`</span>
<span class="pl-s">        &lt;div class="about"&gt;</span>
<span class="pl-s">    &lt;h1&gt;This is an about page&lt;/h1&gt;</span>
<span class="pl-s">    &lt;input type="text" v-model="input"&gt;</span>
<span class="pl-s">  &lt;/div&gt;</span>
<span class="pl-s">      `</span><span class="pl-kos">,</span>
        <span class="pl-c1">name</span>: <span class="pl-s">'about'</span><span class="pl-kos">,</span>
        <span class="pl-en">data</span>: <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">(</span><span class="pl-kos">{</span>
          <span class="pl-c1">input</span>: <span class="pl-s">''</span><span class="pl-kos">,</span>
        <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span>

      <span class="pl-k">const</span> <span class="pl-s1">vm</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-v">Vue</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
        <span class="pl-c1">el</span>: <span class="pl-s">'#app'</span><span class="pl-kos">,</span>
        <span class="pl-en">data</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
          <span class="pl-k">return</span> <span class="pl-kos">{</span>
            <span class="pl-c1">current</span>: <span class="pl-s">'Home'</span><span class="pl-kos">,</span>
          <span class="pl-kos">}</span>
        <span class="pl-kos">}</span><span class="pl-kos">,</span>

        <span class="pl-c1">methods</span>: <span class="pl-kos">{</span>
          <span class="pl-en">goHome</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">current</span> <span class="pl-c1">=</span> <span class="pl-s">'Home'</span>
          <span class="pl-kos">}</span><span class="pl-kos">,</span>
          <span class="pl-en">goAbout</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">current</span> <span class="pl-c1">=</span> <span class="pl-s">'About'</span>
          <span class="pl-kos">}</span><span class="pl-kos">,</span>
        <span class="pl-kos">}</span><span class="pl-kos">,</span>
        <span class="pl-c1">components</span>: <span class="pl-kos">{</span> Home<span class="pl-kos">,</span> About <span class="pl-kos">}</span><span class="pl-kos">,</span>
      <span class="pl-kos">}</span><span class="pl-kos">)</span>
    <span class="pl-kos">&lt;/</span><span class="pl-ent">script</span><span class="pl-kos">&gt;</span>
  <span class="pl-kos">&lt;/</span><span class="pl-ent">body</span><span class="pl-kos">&gt;</span>
<span class="pl-kos">&lt;/</span><span class="pl-ent">html</span><span class="pl-kos">&gt;</span></pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/664177/57471906-8a224380-728c-11e9-832d-f1ce989ee1e0.png"><img src="https://user-images.githubusercontent.com/664177/57471906-8a224380-728c-11e9-832d-f1ce989ee1e0.png" alt="Screen Shot 2019-05-09 at 18 59 07" style="max-width: 100%;"></a></p>
<h3 dir="auto">Steps to reproduce</h3>
<ul dir="auto">
<li>go to the about page</li>
<li>type in the input</li>
<li>leave the page</li>
<li>collect garbage and take a snapshot with devtools</li>
</ul>
<h3 dir="auto">What is expected?</h3>
<p dir="auto">VueComponent count should be stable</p>
<h3 dir="auto">What is actually happening?</h3>
<p dir="auto">VueComponent count keeps increasing.</p>
<hr>
<p dir="auto">seems to be related to typing in the input</p>