Я думаю, что это нормально для больших музыкальных файлов. Однако вы можете попытаться поставить
IsFixedTimeStep = false;
после
TargetElapsedTime = TimeSpan.FromTicks(???);
Я обнаружил, что это делает игровой процесс более плавным. По крайней мере, в 7.0 - но я все еще использую его.
Я, конечно, предполагаю, что вы используете прошедшее время для всех анимаций.