Hi Divakar,
Any program can be scheduled in background. Basically all the programs which process huge data, lock tables for long time, consume memory for long time, affect online business process are scheduled in background.
Although, for a program to be able to run successfully in background it should have some specific points to be kept in mind while designing the program. For eg, pop up messages should be suppressed etc.
Regards,
DN.