You haven't created a new path from the selected path; you've just stored the selected path in a new variable. That gives you two variables looking at the same instance of the class, not two instances of the class.
To create a new instance of the
Path
class, you need to use the
new
keyword to create a new instance, and copy over the relevant properties:
var newPath = new System.Windows.Shapes.Path
{
Data = SelectedPath.Data,
Fill = SelectedPath.Fill,
Stroke = SelectedPath.Stroke,
...
};