That's not a squash or not problem, that's a your tickets are too large problem. If you normally end up with 3000 line feature commits, you're trying to do too much with individual feature changes.
And some features are just monsters, either through the nature of the feature or architectural choices that were made before it was conceived.