WhenAll
returns a task that you can ContinueWith
once all the specified tasks are complete. You should be doing
Task.WhenAll(tskClasificaciones).ContinueWith(t => {
// code here
});
Basically, use WaitAll
when you want to synchronously get the results, use WhenAll
when you want to start a new asynchronous task to start some more processing