The scale factor is based on percentage values. Let's say that you apply the brush to a Rectangle Width = 600, Height=600, then with a scaleX = 0.01 a stripe is ~6 pixels in width. But shrink the Rectangle size to Width=60, Height=60, and the stripe is ~0.6 pixels wide. With such small stripes, the background will look gray.
Since you didn't show your DataTemplate I can't tell what size your elements are.
If this is your issue, then use a binding to change the ScaleX,ScaleY values based on the size of the target element.