In ksh , time isn't just a shell built-in; it's a shell keyword. (I'm sure Corona688 understands the difference, but for other readers who may not, it matters when you want to time a pipeline consisting of more than one process. In a shell where time is a keyword:
time a | b | c
will give you timing results for the entire pipeline. In a shell were time is a built-in, that command will just give you timing results for the execution of a ; not the entire pipeline.) The POSIX standards allow time to be either a keyword or a built-in.
Note also that disown with no operands will disown all active background jobs started by the shell; not just the most recently started background job. If that isn't what you want, you might want to try something more like:
Beware that the non POSIX "disown" utility is not available to the OP who is running Solaris 10. "disown" is only implemented in Solaris 11.
In any case, "disown" is not required here, being redundant. The "nohup" call is already disconnecting the launched process from the running session so there is no reason to try to do it twice.