There are at least three ways to do this:
Classic Windows Service application. “Creating a Basic Windows Service in C#” article from CodeProject will help you. In that case you use
System.ServiceProcessnamespace. BTW, in that case you should read “System.ServiceProcess Namespace” article from MSDN. Here is a short quote from it:
The System.ServiceProcess namespace provides classes that allow you to implement, install, and control Windows service applications. Services are long-running executables that run without a user interface.
Memory-Resident Program. But this is almost impossible to do with C#. Use C++ or better C for this purpose, if you want. If you want to search by yourself, just use keyword
Last one is a dirty one. Just create a formless C# application and try to hide it from Task Manager.