I\'ve observed a lot of \"stack-introspective\" code in applications, which often implicitly rely on their containing methods not being inlined for their correctnes
While Hans' answer is correct, there is one omission, not necessarily about when a method is eligible for inlining, but when a method is not.
Abstract and virtual methods are not eligible for inlining in the CLR.
It's important to note as it whittles down the conditions under which a method may be inlined.