Использование обычных обработчиков в XAML не требует слабых ссылок.
То, что вы делаете, - это создание ссылки на память между основным и дочерним элементами управления, содержащимися в этом элементе управления; дочерний элемент управления в этом случае - кнопка.
Если кто-то поддерживает ссылку на какую-либо часть визуального дерева для основного элемента управления, все дерево останется в памяти, потому что оно связано (родительские / дочерние ссылки).
Теперь, если все ссылки на это дерево удалены, ссылка на событие между родителем и дочерним элементом (основным элементом управления и кнопкой) не имеет значения, поскольку эти элементы управления уже были связаны через родительские / дочерние ссылки. Как только все внешние ссылки будут удалены, этот элемент управления может быть собран мусором.
Обработчики событий в XAML создают только внутренние ссылки на события.
Необходимо соблюдать осторожность, когда внешние клиенты регистрируются на событие в элементе управления, поскольку вы создаете внешнюю ссылку, которая будет поддерживать элемент управления в течение всего времени, пока существует ссылка и клиент (если только это не слабая ссылка).
Ваш вопрос о прикрепленных событиях. Похоже, что нет четкой документации о том, вызывают ли вложенные события утечки памяти. Мне кажется, что элемент управления пользовательского интерфейса, который подписывается на событие, содержит ссылки на событие, а не наоборот, но я предполагаю, что у статического объекта события должен быть какой-то способ уведомить элемент управления о том, что он был запущен. Похоже, что у Microsoft нет удивительных комментариев по этому поводу.