If multiple variables hold the same string value, CLR will allocate a single memory location and save a reference so that the memory usage can be minimized. For eg: string country="US"; string nation="US"; CLR will check to find if any match there already in the heap. If so keep a reference for the variable value 'nation.