No you can not skip con.open() method , because it is the way that your application can communicate with the database.
And if you should use it try following code.
if(con.state==connectionstate.close)
con.open();
The .Net Framework mantains a connection pool for a reason. Trust it! :) You don't have to write so much code just to connect to the database and release the connection.
You can just use the 'using' statement and rest assured that 'IDBConnection.Release()' will close the connection for you.
using (SqlConnection conn = new SqlConnection (...))
{
}
In this code you dont need to close connection anymore.