"Reference Leak Fix for SomeData Property"

class ExampleClass {
	public List<SomeDataType> SomeData {
		get {
			lock (dataLock) {
				return new List<SomeDataType>(someData);
			}
		}
	}
}


Code snippet taken from "Common Multithreading Mistakes in C# - IV: Everything Else".