Because C# has its own garbage collection system and thus needs its own infrastructure running and its data formats are completely different and custom, it would probably be simplest to just wrap your function in a super simple server, run that separate process from your node.js app and then send requests to that server (probably via localhost on a predetermined port) to execute whatever you're trying to do. You can decide what type of server and data interchange format you want to use, but HTTP and JSON would be simple and quick to implement as long as they didn't cause efficiency issues. For the data to go between languages, it's going to have to be put in some standard format any way.
node.js has an addon system, but it is geared to C/C++ so you'd probably have to wrap your C# code in a C/C++ wrapper to use it directly and you'd still probably have to put your C# code in its own process in order to allow its garbage collector to have a place to run and do its thing. My sense is that a simple server in its own process is probably even easier than using the addon system in this case.