Summary: Where you see System.Object you might see Boxing

System.Object and Boxing

When building general purpose classes -- like collections for instance -- it's easy/convenient to make the accessing functions both accept and produce System.Object. This is fine but if you know a little something more about the problem space, such as some of the specific types that will be most popular, it can be a tremenound advantage to provide type specific ""APIs"" as well as the Object-based one. For instance if you know that your class will often be dealing with booleans then providing an API specific to setting/getting bool in addition to the general purpose one could save you lots of boxing and unboxing of booleans.

Reviewing usage of ""System.Object"" in your ""APIs"" can be a great way to find places where you can reduce or eliminate boxing.
Microsoft Communities