Best Practice for Replacement of USING PERIODIC COMMIT to CALL {} IN TRANSACTIONS

Good morning,
After upgrading to version 4.4 And running some Import scripts I get new errors about ' to many current transactions'. or 'not enough memory '. This happens with importing CSV files creating merging update etc. I made the import steps small with PERIODIC COMMIT. But now it seems that PERIODIC COMMIT is Deprecated and use CALL {subquery} IN TRANSACTIONS instead. I have been able to ' transform' some of the import steps from PERIODIC COMMIT to CALL {} IN TRANSACTIONS. But I got stuck with Importing a CSV file which does something like
LOAD CSV FROM "person2computer" AS csv
CALL { WITH csv
MATCH (a:Person WHERE a.name = csv.name), (b:Computer WHERE b.computername = csv.computername)
MERGE (a)-[r:OWNS]->(b) SET r.since = csv.year etc...
} IN TRANSACTIONS
The error i now get = ' can only start inner transactions in an implicit transaction'.

What is the best practice when you want to use CALL {} IN TRANSACTIONS as a replacement for USING PERIODIC COMMIT. And what is causing the last error message?

Yours Kindly
Omer

Unable to run my 700k mode delete query with the stated solution of prepending with `auto`

auto: MATCH (n) WHERE n.external=true CALL { WITH n DELETE n} IN TRANSACTIONS OF 10000 ROWS;

This code does still work:

CALL apoc.periodic.iterate("MATCH (n) where n.external=true return n LIMIT 700000;","DELETE n;", {batchSize:10000, parallel: true})