Actually I have a background in writing low level kernels, in porting c runtime environments to these custom environments. I know about memory management from the hardware up.
Then how could you possibly have confused operating system level memory management with garbage collecting? I am not sure that I would want you working on the Linux kernel, certainly not on the core.
What I don't have is an overly narrow concept of operating systems, a viewpoint stuck on some quiz once taken in an operating system class that expected a student to regurgitate a 1970s list of OS components.
The term "operating system" was recently coopted by marketdroids and PHBs who have not got the faintest clue of what a timer wheel is, to mean something convenient for Apple and Google's respective business plans. Please go get any operating system text, including a recent one, and you will find that the classic meaning of "operating system" is still the only one taught in the schools that produce our kernel engineers.
Android is no less of an OS for delegating some low level operations to the host linux kernel than a microkernel based OS that delegates some low level functions to its microkernel.
You seem not to grasp the scale, power or subtlty of "some low level operations" that Android relies on the operating system for.
Debian no longer an OS when it delegates low level functions to HURD?
Debian is referred to by Debian developers as a "distribution". That is exactly what Android is, nothing more and nothing less.