Ho risolto , ho levato il Db.Close alla fine....

pero' è strano , pensavo che prima riempisse il datagrid e poi potesse chiudere tranquillamente la connessione....sinceramente non capisco