manejo de una coma dentro de un valor de cookie usando .Net.Cookie de .net (C #)

Estoy creando un cliente para visitar un sitio web e iniciar sesión + realizar algunas tareas de forma automática, sin embargo, recientemente actualizaron sus cookies para (por cualquier motivo ...) contener una coma dentro de su cookie de identificación.

Así, por ejemplo, la cookie tendrá un valor similar a este:

a,bcdefghijklmnop

El problema es, segúnmsdn no puedes usar una coma ni un punto dentro del valor de una cocinera. Lo que estoy buscando es una forma de evitar esta limitación, una forma de hacer que el trabajo de .net Cookie sea agradable con las comas. Descubrí que el servidor envía un encabezado 'SET-COOKIE' al cliente y supongo que eso es lo que se está analizando, pero eso también parece dar un significado especial a los comas y puntos y comas (por lo tanto, la limitación de la clase dentro de .NET en sí).

Pero entonces, ¿cómo un navegador como IE, Firefox, etc ... maneja la cookie correctamente (como lo hacen claramente, ya que el sitio web funciona bien en cualquier navegador con el que lo haya probado)? ¿Hay alguna manera de forzar esto? comportamiento en .NET?

Cualquier ayuda será apreciada, gracias.

--- EDITAR ---

alguna información adicional:

Mi código se ve algo como esto:

request = (HttpWebRequest)WebRequest.Create(URI); 
request.CookieContainer = Program.client.cookieJar;

Donde cookieJar se define en Program.client como:

CookieContainer cookieJar = new CookieContainer();

Cuando recorro e imprimo todas las cookies en el CookieContainer, obtengo algo como esto: (cookies, en el formato: "nombre" -> "valor")

"normal_cookie" -> "i am the value" 
"messedup_cookie" -> "a" 
"bcdefghijklmnop" -> "" 

// What I should get is this: 
"normal_cookie" -> "i am the value" 
"messedup_cookie" -> "a,bcdefghijklmnop" 

El núcleo del problema parece ser que las comas y los puntos y comas son caracteres reservados en la cadena del encabezado SET-COOKIE ... pero, ¿cómo manejan esto los navegadores? Probablemente pueda analizar la cadena yo mismo, pero no sé cómo sortear situaciones como esta: (encabezado HTTP, en el formato: "nombre" -> "valor")

"Set-Cookie" -> "messedup_cookie=a,bcdefghijklmnop; path=/; domain=.domain.com; expires=Sat, 15-Aug-2009 09:14:24 GMT,anothervariable=i am the value;"

Como puede ver, la sección de caducidad busca una coma en lugar de un punto y coma para diferenciarse de la siguiente variable. Por lo que puedo decir, está en el formato:

cookie1_var1=value; cookie1_var2=value,cookie2_var1=value; cookir2_var2=value

Pero si eso es cierto, ¿existe una manera elegante de manejar las comas que pueden ocurrir dentro de uno de los valores?

Respuestas a la pregunta(2)

Su respuesta a la pregunta