Delphi Multi Thread [fechado]

Estou tendo problemas com multi thread em delphi. Eu tenho uma lista de nomes (algo sobre 2.000 nomes), e eu preciso obter alguns dados de cada nome no meu site. Meu sistema funciona perfeitamente, exceto o controle de thread.

Eu quero criar 10 threads e, quando algum segmento terminar, criar outro ... até o final da lista.

var
 Form1: TForm;
 tCount: Integer;  //threads count

implementation

type
 TCheck = class(TThread)
 public
  constructor Create(Name: string);
  destructor Destroy; Override;
 protected
  procedure Execute; Override;
 end;

 MainT = class(TThread)
 protected
  procedure Execute; Override;
 end;

destructor TCheck.Destroy;
begin
 Dec(tCount);
end;

procedure MainT.Execute;
var
 i: Integer;
 Load: TStringList;
begin
 Load:=TStringList.Create;
 Load.LoadFromFile('C:\mynames.txt');

 for i:= 0 to Load.Count -1 do
 begin

  if tCount = 10 then  //if we have 10 threads running...
  begin
   repeat
    Sleep(1);
   until tCount < 10;
  end;

  TCheck.Create(Load.Strings[i]);
  TCheck.Start;
  Inc(tCount);

 end;

end;  // end of procedure

Bem, eu não coloquei o TCheck.Constructor porque o problema é o método como eu estou verificando o número de threads criados. Quero dizer, meu software acaba de parar, sem nenhuma mensagem de erro, às vezes verifica 500 nomes, às vezes 150 nomes ...

Desculpe por mau Inglês.