Если я правильно понимаю, второй фрагмент кода - это пользовательский инструмент визуализации элементов, для которого в первом фрагменте создается экземпляр <ns1:test>
.
Элемент управления DataGrid будет создавать экземпляры вашего средства визуализации по мере необходимости - у вас нет никакого контроля над тем, сколько экземпляров будет создано. Таким образом, хотя у вас может быть одна строка в столбце, Сетка данных, скорее всего, создала более одного экземпляра компонента визуализации. В результате, как вы видите, создание завершено, вызывается более одного раза, и вы получаете больше элементов в статическом массиве, чем ожидаете. При разработке средств визуализации элементов вы должны принять во внимание следующее: вы не управляете их созданием и что они перерабатываются платформой. Лучший подход - сделать их максимально безгражданскими.