Great job, Jordi !!!
Now I understand why you thought to Wait For: reading your code I had to read again something about this keyword and I found the "job example".
Following the flow is rather complicated.
That is, what always makes me doubt is that...
you've started the animations from an event routine (Activity_Click); what happens if they were started by a routine, perhaps started by another routine?
I should try.
[BTW I have to study 1 or 2 days your way of assigning a color
. Is it not easier (and readable) to use Colors.RGB or Colors.ARGB?
Anyway... great job!