It is a compiler issue, but for C# and VB. NET, The bulk of the inlining decision effort is left to the IL compiler among other optimizations..
AFAIK, only the C++.net compiler, runs a fully through analysis on your code to check for such optimizations before translating the code to IL. But of course that only goes for your code; the whole BCL, is left out. Therefore the importance of having this in the IL compiler.
Anyway, C, seems to be paying attention... soon there will be more ligth.