List1 contains items { A, B } and List2 contains items { A, B, C }. 
What I need is to be returned { C } when I use Except Linq extension. Instead I get returned { A, B } and if I flip the lists around in my expression the result is { A, B, C }. 
Am I misunderstanding the point of Except? Is there another extension I am not seeing to use?
I have looked through and tried a number of different posts on this matter with no success thus far.
var except = List1.Except(List2); //This is the line I have thus far
EDIT: Yes I was comparing simple objects. I have never used IEqualityComparer, it was interesting to learn about. 
Thanks all for the help. The problem was not implementing the comparer. The linked blog post and example below where helpful.
 
     
     
     
     
     
     
     
    