Limpiar o borrar los datos cargados en un DataGridView

Problema: Tengo datos que se muestran como resultado de una consulta en el grid, pero se desea volver a buscar bajo otros criterios y se debe limpiar el grid para mostrar los nuevos datos
Solución: Limpiar los datos del dataTable, binding y grid.

Así es como yo lo hago

'Primero se limpia el dataTable
DataTable1.Clear()
'Luego se quita la relación del dataTable con el bindingSource y se limpia
bindingSource1.DataSource = Nothing
bindingSource1.DataSource = ""
bindingSource1.Clear()
DataGridView1.DataSource = bindingSource1 'Se vuelve a relacionar el bindingSource vacio con el grid
DataGridView1.Columns.Clear() 'Al final se limpian las columnas que pudieran haber

Esto lo pongo en un botón llamado Limpiar para que se pueda volver a buscar por otros criterios.

Se deben seguir más o menos estos mismos pasos, por decirlo de alguna manera, de abajo hacia arriba, limpiando primero el dataTable, luego el bindingSource y por último el dataGridView, porque si no, suele o no borrarse la información o mostrar un mensaje de error.