I think line 468 of DecoratedRuleArgs.cs should be
sb
.AppendFormat( "{0}={1}", System.Uri.EscapeDataString(item.Key), System.Uri.EscapeDataString(item.Value.ToString()) );
because sometimes the value can be a regular expression string containing ? and & signs.
Please correct me if I'm wrong.
Regards,
Rob