If you run a script like this:
you're giving -bg as arguments to the script AFAIK. If your script is not written to 'understand' the arguments then they will have no effect.
You can execute the script directly with & at the end like this:
but that will only keep it running while your session is logged in. As soon as you disconnect from the session (console,SSH,...) the script will stop running.
You can also put a script in the background with CTRL-Z until you need the script to run again. Putting it in the background this way will stop the script.
The only way I know of to 'detach' a script from a terminal/console/session is by using nohup like you did.