It scales the GC rate with the available memory, yes. I think people who have studied memory allocators usually suggest a maximum ratio of about 1:5 for expected maximum memory to maximum physical memory. Beyond that, it starts to taking exponentially longer to allocate and free memory.
There is an open issue to improve uv_get_constrained_memory to support cgroup2, such that it works better on containerized systems.