Dear Aditya
When you run load, try to check in SM50 which table or process the workprocess is hitting. if it is related to one of the codes it would show the same. Also in the DTP monitor it will tell you which step is running.
Another approach is to reduce the data package size, make it as low as possible (may be 1000) and then do the loading. If that doesn't work then you have to optimize the code.
Regards
Gajesh