A modern programming language such as C# is managed. Meaning there is a system in the back-end to help in managing resources. For example, objects are automatically created when needed, and then disposed once no longer in use. The managed system also checks for proper boundaries when using arrays. Memory leaks and attempted access of out of boundary arrays are typically not a concern in a managed system.