There are so many CHM to RTF file convertors available as open source, including google's readone
http://code.google.com/p/readone/[
^]
You can write C# code to invoke this tool using command execution. .NET SDK contains System.Diagnostics, which provides types to help including redirection of standard input/output/error.
System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo("googleread.exe sourcefile destfile");