I discovered that even numbers of overlapping shapes added to canvas like that:
GeometryGroup gg = new GeometryGroup();
EllipseGeometry e1 = new EllipseGeometry(new Point(10, 10), 20, 20);
EllipseGeometry e2 = new EllipseGeometry(new Point(10, 10), 20, 20);
//EllipseGeometry e3 = new EllipseGeometry(new Point(10, 10), 20, 20);
gg.Children.Add(e1);
gg.Children.Add(e2);
//gg.Children.Add(e3);
Path p = new Path();
p.Data = gg;
p.Fill = Brushes.Red;
MyCanvas.Children.Add(p);
"clears" all previous shapes. If you run these code you will see nothing, but if you uncomment some lines, a circle will appear. Is anybody able give explaination of this strange behavior?