CookieContainer confusion

De ce que je comprends, l'utilisation de base de la CookieContainer persister des cookies par le biais de HttpWebRequests est comme suit:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
CookieContainer cookies = new CookieContainer();
request.CookieContainer = cookies;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
  //Do stuff with response
}

alors:

request = (HttpWebRequest)WebRequest.Create(new url);
request.CookieContainer = cookies;
etc...

Mais je vais avoir du mal à comprendre la logique derrière ce processus. La variable cookies ne semble pas avoir été réaffectés partout après son initialisation. Comment exactement ce que les témoins de la première WebResponse emporter dans le deuxième WebRequest?