Release surfaces after they are unreferenced

- Explicitly release surfaces when they are unused in various callers

Bug: 337666906
Flag: EXEMPT bugfix
Test: WM Presubmit
Change-Id: Iaa7d07065b5c4aaba5d9d5bdb0ba7a0af0b60b9b

6 files changed