Now as I know why I have a performance issue and know the solution it is also possible to make a compromize. I need to address performance, but I can live with what I have for a while. The issue is that it is easier to experiment with functionality using XAML, so I can make it functional before optimizing performance – you need around 50+ properties before you notice the performance issue anyway.
The reason I can make this compromize is because the real property list is an internal list that do not care about the property editor, so all I need to do is to make the new, optimized with an identical interface later and voila… lets move on…