anchor.diff:    FMessages.Free;
     FPublishers.Free;
     FPublishersCriticalSection.Free;
  +  if Assigned(FCurrentMsg) then
  +    FCurrentMsg.Free;
     inherited;
   end;
   
  
positive.code:             finally
                FPublishersCriticalSection.Leave;
              end;
              FCurrentMsg := FMessages.PullMessage;
            end
            else
  
negative.code:     try
        while not Self.Terminated do
        begin
          FreeAndNil(FCurrentMsg);
          FCurrentMsg := FMessages.PullMessage;
          while (FCurrentMsg <> nil) do
          begin
  