I've been a developer a long time, however I've always found it fascinating to learn how people structure their solutions and by extension the applications that they build.
With its infinite flexibility, I've found that C# (and most other languages/frameworks with configuration over convention) lend themselves to just about any architecture anyone could ever think up. However, I've often found that same flexibility lends itself to over-complicated or over-architected codebases or codebases without any architecture at all.