¿Como eliminar las tablas que no le pertenezcan a una base de datos en un TreeView? c# Windows Forms, Microsoft SQL Server

Resulta que tengo un TreeView que me muestra todas las bases de datos que hay con sus respectivas tablas. El problema como verán es que me aparecen tablas a las que le pertenecen a una base de datos pero que tambien les aparecen en otras, lo cual está mal.

introducir la descripción de la imagen aquí

Y lo que quiero es que me muestren nomas las tablas a las que les pertenecen la base de datos únicamente.

       TreeNode node;     TreeNode hijo;     private void Form1_Load(object sender, EventArgs e)     {         DataTable tabla = new DataTable();         DataTable tablas = new DataTable();          ReglasDeNegocios.OperacionesBD operaciones = new ReglasDeNegocios.OperacionesBD();         if (operaciones.BaseDatos(sUsuario, sPassword, ref tabla))         {               foreach (DataRow dr in tabla.Rows)             {                 node = new TreeNode(dr["name"].ToString());                 string hijos = Convert.ToString(dr["name"].ToString());                 if (operaciones.BaseDatos(sUsuario, sPassword, hijos, ref tablas))                 {                     foreach (DataRow dr2 in tablas.Rows)                     {                          hijo = new TreeNode(dr2["Tabla"].ToString());                         node.Nodes.Add(hijo);                     }                     treeView1.Nodes.Add(node);                 }              }             }         else         {              MessageBox.Show("Ocurrio un error: " + operaciones.sLastError);         }     } 

Asi mando a llamar la BaseDatos:

  public Boolean BaseDatos(String sUsuario, String sPassword, String BD, ref DataTable Tabla)     {         Boolean bAllOk = false;         using (SqlConnection conexion = new SqlConnection())         {             try             {                  conexion.ConnectionString = $  "Server=ROBERTODIAZ; User Id={sUsuario}; Password={sPassword}";                 conexion.Open();                 SqlCommand comando = new SqlCommand($  "use {BD} select sc.name+'.'+tb.name AS Tabla from sys.tables tb inner join sys.schemas sc on tb.schema_id = sc.schema_id order by Tabla ASC", conexion);                 SqlDataAdapter adapter = new SqlDataAdapter(comando);                 adapter.Fill(Tabla);                   bAllOk = true;              }             catch (Exception ex)             {                 sLastError = ex.Message;             }             finally             {                 conexion.Close();             }         }         return bAllOk;     } 

¿Como solucionarían esto?