string authHeader;
var items = authHeader.Split(' ', 1, StringSplitOptions.RemoveEmptyEntries);
items[0]がauth-schemeで空白は既にない。
items[1]が残り。
items[2].Split(',').Select(i => i.Trim());
でこれをそれぞれSplit('=').Select(i => i.Trim())
で終わり。

HTTPの仕様上、quoted-stringってのがゴミ。これを含めると解析はクソめんどくさくなる。