The "inactive" memory is memory which is associated with a vnode object, that means it is memory which was paged in. Executables are mapped, as are files when they are being written or read. So if you watch a movie, the "inactive" memory will also increase while the file is being read from disc. So it caches more than just programms. If no memory is free (or more exact, if free memory falls below a tunable value), memory is made free by eating up the end of the inactive memory.
Only then the currently in-use memory is written to disc.
Inactive memory is basically a read cache for binaries and files because if you close the file and then re-open it later (or from a different programm), then the pages in the "inactive" area which were associated with that vnode are re-attached to the file vnode, basically pre-reading the content where is is already known.
So the kernel starts paging when free memory is below a tunable value.
If FreeBSD is still able to provide swapping, which would mean to force entire processes into the swap space (including kernel stacks, kernel data structures, ...) - that I do not know but tried to find out for some time.
This would traditionally occur when paging was unable to provide enough free memory fast enough to meet some criteria, like not enough memory to have 2 big processes running at the same time. Then one of them would be stopped and placed in swap for some seconds, then being woken up again with some other process getting the freeze. Should that not work, the kernel would start to kill random processes to have the rest continue.
And yes, having PID 1 or 2 killed by this surely makes for entertainment.