Looks like a nice post to me!  I never thought about the ordering of Join and GroupJoin.  I always took ordering in LINQ for granted.