Pegar metatags e comentários usando o HTML Agility Pack

Procurei tutoriais sobre o uso do HTML Agility Pack, pois ele parece fazer tudo o que quero, mas parece que, para uma ferramenta tão poderosa, há pouco ruído na Internet.

Estou escrevendo um método simples que recuperará qualquer marca com base no nome:

public string[] GetTagsByName(string TagName, string Source) {
    ...
}

Isso pode ser feito facilmente usando uma Expressão regular, mas todos sabemos que o uso da regex para analisar HTML não está correto. Até agora, tenho o seguinte código:

...
// TODO: Clear Comments (can this be done or should I use RegEx?)
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(Source);
ArrayList tags = new ArrayList();
string xpath = "//" + TagName;
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes(xpath) {
    tags.Add(node.Text);
}
return (string[])tags.ToArray(typeof(String));

Gostaria de poder primeiro remover todos os comentários do HTML e, em seguida, retornar a tag correta com base em seu nome. Se possível, eu também gostaria de retornar determinadas metatags com base em atributos, como o robô. Eu não sou tão bom com o xpath, então qualquer ajuda com isso seria boa.

Qualquer ajuda seria muito apreciada.

questionAnswers(1)

yourAnswerToTheQuestion