System.Uri.EscapeUriString() can be problematic with certain characters, for me it was a number / pound ‘#’ sign in the string.
If that is an issue for you, try:
System.Uri.EscapeDataString() //Works excellent with individual values
Here is a SO question answer that explains the difference:
What’s the difference between EscapeUriString and EscapeDataString?
and recommends to use Uri.EscapeDataString() in any aspect.