Вы создаете новый экземпляр текущего типа, устанавливаете для него свойство, а затем игнорируете вновь созданный объект. Я подозреваю, что вы хотите изменить свойство объекта current , т.е.
// Remove the line declaring and initializing obj
pathInfo.SetValue(this, System.Windows.Media.Brushes.Red, null);
Сказав это, не совсем понятно, почему вы используете отражение в первую очередь.