Why does the program become unusable? We can tackle the 90% CPU utilization later.
Sounds like the program gets confused if its input isn't a tty, or perhaps even if it gets EOF on stdin (text mode freeamp, for instance, used to have this bug). If that's the case, nohup won't solve the problem but screen will.

Peter