Working on a number of legacy systems written in various versions of .NET, across many different companies, I keep finding examples of the following pattern:
May be the convention of assigning null originated from the fact that had foo been an instance variable instead of a local variable, you should remove the reference before GC can collect it. Someone slept during the first sentence and started nullifying all their variables; the crowd followed.