Sure, the Freezable class and the Visual class in WPF have a totally different purpose. My question focuses more on the difference between objects which implement either the Visual class or the Freezable class. Because they both are normally related to graphical issues I got confused.
So, what exactly is the purpose of a Freezable in the manner of graphical representation and a Visual?
Visual implements the concept of a 2D object that generally requires visual presentation in a roughly rectangular region. The actual rendering of a Visual happens in other classes (it is not self-contained), but the Visual class provides a known type that is used by rendering processes at various levels. Visual implements hit testing, but it does not expose events that report hit-testing positives (these are in UIElement). For more information, see Visual Layer Programming.
http://msdn.microsoft.com/en-us/library/ms753209(v=vs.110).aspx
Freezable simulates immutability in a mutable object by providing the means to generate copies of the object when an immutable object is required or desired for performance reasons. The Freezable type provides a common basis for certain graphics elements such as geometries and brushes, as well as animations. Notably, a Freezable is not a Visual; it can hold properties that become subproperties when the Freezable is applied to fill a property value of another object, and those subproperties might affect rendering. For more information, see Freezable Objects Overview.
http://msdn.microsoft.com/en-us/library/ms750509(v=vs.110).aspx