I'll attempt to explain to clarify my own understanding.
SaaS is a delivery mechanism. Tenancy is an isolation model. To your broader point, the isolation model is implementation specific.
Multi-tenant SaaS means a single deployment for all tenants, and the data is delivered over the internet.
Single-tenant SaaS means a separate deployment for each tenant. I think common usage means a separate database per tenant. Single-tenant can also include entirely new infra for each tenant with private networking which is what Gitlab describes.
HN thread on single-tenant DB experiences with lots of useful tidbits: https://news.ycombinator.com/item?id=23305111
A ~1000 person company I'm familiar with moved from GitHub to a self hosted GitHub because it was too easy for engineers to hit a button and accidentally publish a repository/gist to the public. That shouldn't matter, but sometimes it does. I'm not sure if that's the same on GitLab.
GitLab Dedicated is for customers who want GitLab team to manage GitLab for them but not on GitLab.com
(I work there)
GitLab has some project visibility settings that you can utilize to control visibility and prevent users from publishing repos to the public: https://docs.gitlab.com/ee/user/public_access.html#restrict-...
Alternatively, private groups can only have private projects: https://docs.gitlab.com/ee/user/public_access.html#private-p...