title: How does the WPF dependency property design save memory consumption?
body: <p>I read this in the following link:-</p>
  
  <p><a href="http://www.informit.com/articles/article.aspx?p=688529&amp;seqNum=2" rel="nofollow">http&#58;//www.informit.com/articles/article.aspx?p=688529&amp;seqNum=2</a></p>
  
  <blockquote>
    <p>However, because GetValue and SetValue internally use an efficient sparse storage system and because IsDefaultProperty is a static field (rather than an instance field), the dependency property implementation saves per-instance memory compared to a typical .NET property. If all the properties on WPF controls were wrappers around instance fields (as most .NET properties are), they would consume a significant amount of memory because of all the local data attached to each instance. </p>
  </blockquote>
  
  <p>But eventually they are getting stored somewhere, how does it saves memory consumption ?</p>