GitLab is definitely resource hungry, but we self-host it for under $100/mo on AWS. This includes the cost of the CI infrastructure as well - EC2 instances being spawned by the multi-runner with docker+executor for each unique pipeline running.
Management of the server has been as easy as logging into the GitLab server periodically and running a yum update... It's never gone down.
But the point being made is orthogonal to the feature set: Gitlab (mostly written in Ruby) isn't using hardware resources (memory, CPU cycles, parallelism) as efficiently as Gitea (written in Go) does.
This is well reflected to the minimal system requirements, even when you aren't using any of those additional features: https://docs.gitlab.com/ee/install/requirements.html whereas you can in principle use Gitea even on a Raspberry Pi Zero for a small group.
For example, disregarding parallelism and wasted CPU cycles and just looking at memory usage: I have a running instance and its using 30MBs of RAM at the moment (~10 users, ~100 repos). If I move all the repos, issues, PRs to a Gitlab instance, I would be looking at GBs according to their minimal requirements. This is related to the mindset in which memory and CPU are considered as infinite resources.
Very different development style than Git, but for my personal projects I really like it.