Dans ce cas précis il se passe rien, tu passe un string, le ToString() dans la méthode Display est pas nécessaire, le where T : Class n'est pas nécessaire non plus, ça peut afficher une struct aussi via la méthode WriteLine.
Tu peux remplacer ton while par une boucle for :
for(var count = 0 ; count < 10 ; i++)
{
}
Et comme dit précédemment, on ne créer plus de thread directement en C# moderne, on utiliserait la TPL, comme ceci par exemple :
var tsk = new Task(() =>
{
// your code
});
tsk.Start();
ou comme cela :
Task.Run( () =>
{
// your code
});
Et pour les méthodes renvoyant un résultat, on crée un Task<TResult>.
La documentation sur le site de microsoft est plutôt bien faite, tu devrais aller la lire :)