Вот решение с использованием RegEx
string data = "[[\"9\",\"3\"],[\"8\",\"4\"],[\"7\",\"4\"],[\"6\",\"5\"],[\"5\",\"6\"],[\"4\",\"4\"],[\"3\",\"4\"]]";
var pairs = (from Match m in Regex.Matches(data, "\"[0-9]\"\\,\"[0-9]\"")
select m.Value.Split(',')).ToDictionary(d => d[0], d => d[1]);
Добавлено: если вы хотите получить результирующие значения как int вместо строк, вы можете сделать это вместо
var pairs = (from Match m in Regex.Matches(data, "\"[0-9]\"\\,\"[0-9]\"")
select m.Value.Split(','))
.ToDictionary(d => Int32.Parse(d[0].Replace("\"", "")),
d => Int32.Parse(d[1].Replace("\"", "")));