Java and C# are pretty much identical, both have garbage collectors, similar memory models (well, at least compared with C++), similar memory allocation (I think) but Java is used fairly often in low latency applications (not as much as C++) whereas C# isn’t really..
Are there any technical reasons why C#, even though it is very similar to Java, is not used in these environments? Are there differences in the memory model etc? Is it because Java has different JVMs/Garbage collectors? Better tuning parameters?
EDIT: After one of the comments below I believe the answer to this (closed) question is that C# limits the system to being Windows-based. Linux allows tuning the server to context-switch far less and therefore provider greater low latency opportunities, rather than this being about the C# language-specifics itself.
Q: How can you possibly expect a valid answer to a false premise?
Relevant links:
http://msdn.microsoft.com/en-us/magazine/gg232761.aspx
http://www.elitetrader.com/vb/printthread.php?threadid=204368