Yes, this is expected behavior in Databricks. The __databricks_internal catalog contains system-owned schemas that support features like materialized views and Delta Live Tables (DLT). When you create materialized views, Databricks generates internal schemas such as __dlt_materialization_schema_* for query caching and dependency tracking.
These schemas typically persist even if empty. Databricks does not guarantee automatic cleanup on a fixed schedule. They may eventually be removed during internal housekeeping, but this is not immediate or user-controllable.
If you need them removed (e.g., for compliance or to keep the metastore clean), youāll need to open a Databricks Support ticket. Only Databricks can purge these entries from the metastore.