Well, in a way it is a form of swap (just a program-controlled one over an automatic), to tell it to save its state because it is gonna be killed. And to be honest, it is a very fair way of working that should be moved to the desktop as well (plenty of apps have no reason to run in the background - though memory eviction is not needed there when ample memory is available).
Also, sorry to be pedantic but reference counting is a garbage collector algorithm, but I do understand what you mean here (RC needs less memory at the price of not being able to defer work to a concurrent thread)
The latter is pretty rare given how much work has been put into notifying apps about memory pressure, making them easily suspend/resume, and not using garbage collection.