I had to delve into some VB6 code recently and I saw this pattern all over the place:
dim o as obj
set o = new obj
Why not this?
Here's another caveat:
For x = 1 to 100
dim obj as new MyObject
'Do something with obj
Next
You might expect that a new object is instantiated 100 times, but you'll find that it only gets instantiated the very first time. This one caught me off guard long ago.
I still use this notation all the time though. Just make sure you know the behavior.