anchor.diff:          serfBid := fQueue.ChooseBestSerfBid(offerPos);
   
           if serfBid <> nil then
  +        begin
             fQueue.AssignDelivery(bid.OfferID, bid.DemandID, serfBid.Serf);
  +          serfBid.Free;
  +        end;
  +        bid.Free;
         end;
  -
  -      if bid <> nil then
  -        bid.Free;
       end;
     finally
       {$IFDEF PERFLOG}
  
positive.code:           begin
              fBestBidCandidates.Push(bid);
              bestImportance := bid.Importance;
            end;
          end;
  
          bid := ChooseBestBidBasic(bestImportance, allowOffroad);
  
negative.code:         begin
            fBestBidCandidates.Push(bid);
            bestImportance := bid.Importance;
          end
          else
            bid.Free;
        end;
  
      bid := ChooseBestBid(bestImportance, aSerf);
  