Coding Tutorial: In .NET, there is a fundamental division between value types and reference types. All is explained here.
(Yes, I know I wrote 'CreateOjects' not 'CreateObjects'.)
Source code available at https://github.com/JasperKent/Val-and-Ref-Types