Recently I was asked in the interview, if the strings in C# can come to the LOH. The interviewer mentioned that there is some optimization in GC logic that splits a single massive string into several smaller ones, so this string never reaches LOH.
I didn't find the related info in MSDN articles: https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/large-object-heap and https://learn.microsoft.com/en-us/archive/msdn-magazine/2008/june/clr-inside-out-large-object-heap-uncovered
So are there any implications or optimizations in CLR regarding storing strings in LOH? Is it somehow related to string interning?