я в WPF не шарю, мимо проходил
есть опыт в Win Forms, Unity и сопутствующем
может быть помогу чемто
при каждом вызове метода с этой анимацией, создается обьект этой анимации, остается в памяти и там сидит до тех пор пока приложеине на закроется?
Врятли, т.к. у объекта-анимации есть продолжительность, и он самоуничтожается под капотом по истечении таймера, вручную нет смысла удалять, я бы спроектировал именно так внутри (под капотом WPF всмысле)
Судя по примерам (я не эксперт WPF) делать надо именно так, как у вас и сделано.
вполне может быть что траблы с перформансом по таким причинам
* ShowCard вызывается слишком часто, а этого кода вы не привели, вполне могут быть проблемы, например цикл из ShowCard или вызов его каждый такт (update или что там у вас в WPF)
без защитного флага
тогда когда надо сделать чтото в духе
if (! isAnimPlayed)
{
isAnimPlayed = true;
ShowCard ();
}
* слабый другой ПК, CPU \ GPU, уточняйте и тестите на аналогичных
* много что модифицируется, т.е. window.cardQuestionBorder.RenderTransform это чтото большое и у него есть какието лишние потомки, и можно както разбить по-лучше