It's probably easy to self-host Gitlab for a small team working on a limited number of projects.
It's definitely not easy to self-host Gitlab for hundreds of devs working of hundreds of projects.
Especially if you use it as your CI/CD pipeline, because now you have to also manage your workers.
Why company chose to pay GitHub instead of self-hosting their Gitlab instance?
For the same reason they pay Microsoft for their emails instead of self-hosting them.
It's definitely not easy to self-host Gitlab for hundreds of devs working of hundreds of projects. Especially if you use it as your CI/CD pipeline, because now you have to also manage your workers.
Why company chose to pay GitHub instead of self-hosting their Gitlab instance? For the same reason they pay Microsoft for their emails instead of self-hosting them.