Care to review my immutable singly linked list?
The constructor with one argument is never used and doesn't make much sense (list with a head but no tail?).
You shouldn't use Count in your own methods unless absolutely necessary, because it's O(n). Or you should cache the result in a field.
Because you use Count so often, your Insert() walks through the whole list three times! The second time it's because of completely unnecessary Count. You should completely rewrite it, Insert() can be done in O(index), which can be much better than your O(n).