title: Doesn't Content.Load<Texture2D>() create a new instance?
body: <p>I have this struct:</p>
  
  <pre><code>public struct LevelElements
  {
      public Texture2D levelTexture;
      // other variables...
  }
  </code></pre>
  
  <p>and I initialize it in this way:</p>
  
  <pre><code>for (int i = 0; i &lt; 2; i++)
      levelElements[i] = new LevelElements
      {
          levelTexture = content.Load&lt;Texture2D&gt;("Terrain/level"),
          // other variables...
      }
  </code></pre>
  
  <p>Then I draw the first texture while modifying it with <code>textureLevel.SetData</code> method.<br>
  The problem is that if I draw the second one it looks the same as the modified first one, and not as the original one loaded from the content.<br>
  Why have both <code>levelTexture</code>s the same reference? Doesn't <code>Content.Load&lt;Texture2D&gt;()</code> create a new instance?</p>
  
  <p>PS: I don't need to create a copy of that texture, I was only testing my code and I found this behaviour.</p>