Windows HPC Server always treats non-zero exit code of the task as a sign of its failure. If the application, which you are running on the cluster, returns 3 even if it succeeds, the task still will be marked as failed.
If you want Windows HPC Server to report success for tasks with non-zero exit code, you may try to wrap the commandline, which starts your app in a script. Such script can check for app's exit code, determine if it is the one of 'successful' exit codes
and return 0 in such cases.