Me parece que tendrás que volver a leer más sobre como funcionan los servicios de Windows y las funciones que estás implementando, como por ejemplo,
OnStart.
Tu mismo estás diciendo que has puesto un bucle infinito en ese método y luego te sorprendes de que al intentar arrancar el servicio Windows te diga que no ha podido terminar de procesarlo en un tiempo determinado.