Useful C# patterns: message queues, data structures, factory patterns, extensions... etc.