For a self-managed instance, you can set it to whatever you want. If you’re worried about how large projects get, you can get a global limit then override it for individual projects.
In terms of backup and restore, that mostly depends on your infrastructure set up. There is no specific guideline. I can tell you that we have do users who run GitLab with very large 100+GB projects, but I believe most of these are on high availability (HA) setups.