This is what I got when done memory analysis of Dump of .Net server.
DotNetMemoryAnalysis
CLR Memory Analysis for UAE B2C WC REVAMP EXPRESS SEARCH LIVE-Memory-High-Dump-14-May.DMP
Type of Analysis Performed .Net Memory Pressure Analysis
Machine Name GCC-B2C-API-4
Operating System Windows Server – 20348
Number Of Processors 16
Process ID 9800
Process Image c:WindowsSystem32inetsrvw3wp.exe
Command Line c:windowssystem32inetsrvw3wp.exe -ap “UAE B2C WC REVAMP EXPRESS SEARCH LIVE” -v “v4.0” -l “webengine4.dll” -a .pipeiisipm8868b15b-43de-4c27-bab1-a056312fd59d -h “C:inetpubtempapppoolsUAE B2C WC REVAMP EXPRESS SEARCH LIVEUAE B2C WC REVAMP EXPRESS SEARCH LIVE.config” -w “” -m 0 -t 20 -ta 0
System Up-Time 27 day(s) 19:29:35
Process Up-Time 08:31:46
Processor Type X64
Process Bitness 64-Bit
CLR Information
CLR version = 4.8.4645.0
Microsoft.Diagnostics.Runtime version = 0.9.2.0
GC Root Chains
GC Root Chains are available for the following types:
|Type Name | Number of Roots Found |Total Size|
|---------------|--------------------------|-----------|
|System.String | 1555 | 178.31 KBytes |
|System.Char[] | 8 | 392 Bytes |
|System.String[] | 134 | 10.14 KBytes |
|System.Byte[] | 189 | 799.17 KBytes |
|System.Int32[] | 53 | 8.61 KBytes |
|System.DateTime | 5 | 120 Bytes |
Note: GC Root Chain detection is incomplete due to a timeout after 60 seconds. The GCRootTimeout and other settings can be modified in the DebugDiag.AnalysisRules.dll.config file.
**System.String**
**Type Name :** System.String
**Module Path:** C:WindowsMicrosoft.NetassemblyGAC_64mscorlibv4.0_4.0.0.0__b77a5c561934e089mscorlib.dll
**Total size of all instances:**
5.84 GBytes
**Number of instances:**
30023662
**Total size of all rooted instances:**
178.31 KBytes
**Number of rooted instances:**
1555
**Top GC Root Chains for System.String:**
**Total size of all objects with this GC Root Chain:**
88.44 KBytes
**Number of objects with this GC Root Chain**
1
**Address of 1st object found with this GC Root Chain path***
0x1b070b97568
static var System.Text.RegularExpressions.Regex.livecode-->
System.Collections.Generic.LinkedList-->
System.Collections.Generic.LinkedListNode-->
System.Text.RegularExpressions.CachedCodeEntry-->
System.Text.RegularExpressions.ExclusiveReference-->
System.Text.RegularExpressions.RegexInterpreter-->
System.String
Why System.String taking so much memory?