Ok, I've got some code that looks like this: fCollection.ForEach(@Self.DoEach); Now when DoEach() is called its Self and the Self above are not the same... Is this supposed to happen?