Eager operation in a previously running query

If you refactor the code according to the two issues @arne.fischereit suggested, you will find the eager operations are eliminated. I don't have your function, so I just set the function calls to a constant so the explain plan would run. As you can see, there are no eager operations in the refactored query.

Before refactoring:

profile 
WITH "pikeen" AS owner
WITH "PLACE_HOLDER" as ownerUuid5
    
MATCH (pikeen:Owner { uuid: ownerUuid5 })
WITH pikeen, ownerUuid5

LOAD CSV WITH HEADERS 
FROM  "https://storage.googleapis.com/file.csv" 
AS row FIELDTERMINATOR ';'

WITH row, pikeen, toLower(row.url) AS url
WHERE row.uuid <> "#"

WITH row, pikeen, url, "PLACE_HOLDER" as uuid5

MERGE (merchant:Merchant { uuid: uuid5})
ON CREATE SET merchant.shortName= row.shortName,
        merchant.uuid= uuid5,
        merchant.url= url
ON MATCH  SET merchant.shortName= row.shortName,
        merchant.uuid= uuid5,
        merchant.url= url

MERGE (pikeen)-[:HAS_MERCHANT]->(merchant)

return pikeen, merchant

Explain plan:

Refactored query:

profile 
WITH "pikeen" AS owner
WITH "PLACE_HOLDER" as ownerUuid5
    
MATCH (pikeen:Owner { uuid: ownerUuid5 })
WITH pikeen, ownerUuid5

LOAD CSV WITH HEADERS 
FROM  "https://storage.googleapis.com/file.csv" 
AS row FIELDTERMINATOR ';'

WITH row, pikeen, toLower(row.url) AS url
WHERE row.uuid <> "#"

WITH row, pikeen, url, "PLACE_HOLDER" as uuid5

MERGE (merchant:Merchant { uuid: uuid5})
ON CREATE SET merchant.shortName= row.shortName,
        // merchant.uuid= uuid5,
        merchant.url= url
ON MATCH  SET merchant.shortName= row.shortName,
        // merchant.uuid= uuid5,
        merchant.url= url

MERGE (pikeen)-[:HAS_MERCHANT]->(merchant)

return pikeen{.*} as pikeen_properties, merchant{.*} as merchant_properties

Explain plan after refactoring (no eager operations)