In theory the limiter could be used to setup a dynamic pipe/queue for each flow (sort of) through the router. That would let you set the exact bandwidth each flow would be allowed to use. pfSense doesn't currently support doing that via the gui though, probably for good reason.
Take a look at the dummynet documentation at http://www.dummynet.com/
Dynamic queue creation: mask …
It is possible to associate a mask to a pipe so that bandwidth and queue limitations are enforced separately for packets belonging to different flows.
The mask command lets you specify which parts of the following fields contribute to identify a flow:
[proto N] [src-ip N] [dst-ip N] [src-port N] [dst-port N]
where N is a bitmask where significant bits are set to 1. You can specify one or more masks, or the all keyword to mean that all fields are fully significant.
The default (when no mask are specified) is to ignore all fields, so that all packets are considered to belong to the same flow.
Whenever a new flow is encountered, a new queue (with the specified bandwidth and queue size) is created.
WARNING!!! the number of dynamic queues that can be created in this way can become very large. They are accessed through a hash table, whose size you can define using the buckets NN specifier after the mask command.
This would probably be pretty resource intensive to keep up, it probably isn't suitable for actual real life use.