What would you recommend me to look at if I want my C# project (Kinect) to communicate live with the Arduino?
The same thing I recommended last time you asked. You need to send the Arduino messages. It needs to parse, understand, and implement the messages. A protocol is an agreed upon set of messages - The C# application is then restricted to sending only those messages, and can expect to get a reply in a known format. The Arduino is then able to deal with a known set of messages, in a known way.
Start by making a list of the things that the C# application might expect the Arduino to do. Don't worry about coming up with a message format, yet. Just list the tasks that the C# application needs the Arduino to perform.