Start here. This is the direct spoken answer to practice first.
Why this question matters
Memory observability needs signal, not a dashboard full of numbers nobody trusts. The answer links metrics to actionable failure modes.
I would monitor process memory, managed heap size, allocation rate, GC collection counts, GC pause or time in GC, and memory limit percentage if the service runs in a container or app service plan. For features with large payloads, I would also track request size, export size, and queue depth. Alerts need thresholds and duration so normal spikes do not page the team. I want alerts that point to action, such as memory approaching the limit or sustained growth without recovery.