This is because myRule.ToList () has no effect on the referenced myRule.
If myRule gets written, this should work:
myRule = myRule.ToList().RemoveRange(0, count);
Of course, if it's read-only, it won't work at all ... just trying to find a way around this for you ...
source
to share