If you're writing a data heavy utility in PowerShell and it's gonna stick around for a while, you've probably run into memory problems. Hope is hidden right under the PowerShell covers, the .Net CLR.
PowerShell is designed to help administrators write powerful scripts that are maliable and readable. The pipeline system adds performance and flexibility, duck typing with optional static type casting is really nice but being a C# guy, I have some problems with PowerShell object collections. Since I'm not a great writer, it's story time.
I've been tasked with writing a time oriented data processing system to do behavior heuristics on shared data servers. In short, we're looking for bad stuff. It involves maintaining the last 30 minutes of transaction activity on said servers to watch for trends. Since I can't just use Redis, the best way I've come up with for doing this is multiple hashtables that key off of Unix epoch style timestamps. This is a simple way to maintain time series data and identifying old records is a simple arithmetic operation. Not such a crazy idea, but when using PowerShell hashtables it leaks like a sieve.