I've got to the stage now (17 years in as .NET developer) where I only split things out into separate assemblies where I absolutely can't avoid it. In the past, I would've had an "assembly-per-technical-concern" and given myself a big pat on the pack for doing so.