the scanner doesn't auto-generate destructors for interfaces that don't have them so the number of registered objects increases indefinitely.
C scanner section that does this: https://github.com/gitlab-freedesktop-mirrors/wayland/blob/56dfdb7614dd6485e228f662d7d2ae9ce8b68719/src/scanner.c#L1178-L1188
whoops, my bad this is a duplicate of #4