HtmlAgilityPack Helper class
There are a few things I've noticed.


This line if (null != node) return type == ParseType.InnerHtml ? node.InnerHtml : type == ParseType.OuterHtml ? node.OuterHtml : type == ParseType.InnerText ? node.InnerText : node.Attributes[attributes].Value; is very confusing.  You are mixing and if statement with multiple ternary really clutters up that line of code.
You shoud look into the var keyword.  When the variable type is obvious, it is pretty much stand practise to use it.  I think it really cleans up code.
I'm not sure why you are using GC.Collect() in your constructor.  In C# there is not usually a need to control Garbage Collection.  The framework deals with it pretty well.
I would change if (null != Documents) to if (Documents != null).  I know why that syntax is done in C/C++, but in C# it is not needed, and the latter is much more descriptive and easier to understand.
I would be careful about returning null from a method.  It adds extra code where the method is called to check for null.  Maybe look into the null object design pattern


Other than that, your use of white space and indentation is very well done.  Makes reading your code much easier.