Use what you know best. If you know OpenSolaris really well, then use ZFS on OpenSolaris. If you know FreeBSD really well, then use ZFS on FreeBSD.
ZFSv6, the version of ZFS in FreeBSD 7.x, works quite nicely, especially on FreeBSD 7.2. They've fixed a lot of the memory issues, and enabled a lot of auto-tuning for ZFS in FreeBSD 7.2.
FreeBSD 7.3 and 8.0 will ship with ZFSv13. And that's where things in ZFS-land get really interesting.

You can play with ZFSv13 by installing FreeBSD 7.2, then doing a buildworld upgrade to FreeBSD 7-STABLE (using tag=RELENG_7). However, if that all sounds like gobble-dee-gook, then you probably shouldn't try that.
We're using FreeBSD 7.2 and ZFSv6 on two storage servers without any issues. We were using ZFSv6 with FreeBSD 7.0 and 7.1 on these same systems, and had to do a lot of manual, hand-tuning to get them stable. With 7.2, we've removed all that hand-tuning and let the system tune itself ... no issues in several weeks of running.
I also use FreeBSD 7.1 and ZFSv6 on my home server with just 3 drives in raidz1. This is a 32-bit install with just 2 GB of RAM. Had to do a lot of hand-tuning, but it's running really well. Even replaced harddrives without any downtime.