Write a clear and concise program in C# that implements the insertion sort algorithm effectively, taking into consideration the time and space complexity of the code. The program should be well-structured, properly commented, and follow standard coding conventions. Any assumptions made about input parameters or output results should be clearly documented. Additionally, provide test cases or examples that demonstrate the functionality of the implemented insertion sort algorithm.
This prompt doesn't seem malicious.