I ran into the same issue and ended up modifying the UrlEncode extension method to look like below:
public static string UrlEncode(this string input)
{
int limit = 65519;
StringBuilder sb = new StringBuilder();
int loops = input.Length / limit;
for (int i = 0; i <= loops; i++)
{
if (i < loops)
{
sb.Append(Uri.EscapeDataString(input.Substring(limit * i, limit)));
}
else
{
sb.Append(Uri.EscapeDataString(input.Substring(limit * i)));
}
}
return sb.ToString();
// return Uri.EscapeDataString(input);