I think this should work. If you are not showing any particular type of F # in a public signature, you do not need to reference the assembly FSharp.Core.dllin your C # project (you still need to distribute it using the F # library).
I tried to write a simple example, and I can compile a C # project without a link FSharp.Core. Could you try if the following project works for you:
http://dl.dropbox.com/u/5676796/test.zip ?
It declares a simple F # module:
module Module1
open System.Collections.Generic
let getDictionary() =
let d = new Dictionary<_, _>()
d.[10] <- 1
d :> IDictionary<int, int>
And the code that references C # looks like this:
var d = Module1.getDictionary();
Console.WriteLine("d 10 = " + d[10]);
F #, F # ( , F # , F # ..).