http://msdn.microsoft.com/en-us/library/system.object.gethashcode(VS.80).aspx says:
For the best performance, a hash function must generate a random distribution for all input.
Does it have any effect in performance or it's ok to use a function (like return this.Id) that doesn't give a "random distribution" but it doesn't cause more collisions?