<p>Essentially I want to know if in VB.NET 2005 if using a sqlcommand and then reusing it by using the NEW is wrong.  Will it cause a memory leak.</p>

<p>EG:</p>

<pre><code>try

dim mySQL as new sqlcommand(sSQL, cnInput)

// do a sql execute and read the data 

mySQL = new sqlcommand(sSQLdifferent, cnInput)

// do sql execute and read the data
catch ...

finally

if mysql isnot nothing then
   mysql.dispose
   mysql = nothing
end if
</code></pre>

<p>EDIT: put try catch in to avoid the comments about not using them</p>

Garbage collection will gather up the first new when it is run.
Only the second one you purposely dispose in the Finally block.  The first one will be disposed of the next time the garbage collection is run.
I do not think this is a good idea.  If the first command is not closed correctly it is possible you would have an open connection to the database and it will not be disposed.
A better way would be to dispose the first command after you are done using it, and then to reuse it.