Here is what I have found by playing around with the NonStop SQL ODBC driver. When I switch the cursor mode from read_only_streaming to read_only, the high memory usage no longer happens. However, the data transfer is significantly affected. I'm down to 120 records/sec. That will take me 2 months to import 560M records!
Looks like I'll have to find some other ways to get round this… Any suggestions?