I don't care about RAM usage because i never even get close to maxing out RAM. Please check with Adguard or Rethink DNS+ if "Vivo Push Notifications" service can be disabled and actually is disabled and never tries to connect to the internet (by looking through the log). Any app you can start on the Vivo can also be removed with adb. It's only services which cannot. You can never start a service anyhow. Services get started by apps or by the system.
I don't know what you mean with themes push messages app. I have debloated anything related to themes. What you describe sounds to me just like appops but it doesn't work for the two most important apps on this phone - being below:
Maybe the app uses something like this - but it doesn't work for me!
adb shell cmd appops set com.vivo.pushservice RUN_IN_BACKGROUND ignore
adb shell cmd appops set com.vivo.abe RUN_IN_BACKGROUND ignore
adb shell cmd appops set com.vivo.pushservice RUN_ANY_IN_BACKGROUND ignore
adb shell cmd appops set com.vivo.abe RUN_ANY_IN_BACKGROUND ignore
it should block any network usage - but it doesn't https://source.android.com/docs/core/power/app_mgmt
Here is the nitty gritty - maybe someone finds the problem?:
PD2227:/ $ appops set com.vivo.pushservice RUN_ANY_IN_BACKGROUND ignore
PD2227:/ $ appops get com.vivo.pushservice
Uid mode: LEGACY_STORAGE: ignore
WRITE_SETTINGS: default; rejectTime=+10s956ms ago
WAKE_LOCK: allow; time=+11s156ms ago; duration=+204ms
GET_USAGE_STATS: default; rejectTime=+5h3m24s630ms ago
READ_MEDIA_AUDIO: allow; time=+68d23h32m25s913ms ago
MANAGE_EXTERNAL_STORAGE: default; rejectTime=+68d23h32m25s913ms ago
NO_ISOLATED_STORAGE: deny; rejectTime=+68d23h32m25s913ms ago
USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER: default; rejectTime=+10s951ms ago
Seeing the wake_lock - maybe we can increase wake_lock to hours so this stupid app doesn't get called all the time anymore?
And here it is for abe after setting the ignore bits:
PD2227:/ $ appops get com.vivo.abe
WAKE_LOCK: allow; time=+4m44s562ms ago; duration=+128ms