hope your arm heals quickly. Dogs can bite for a number of reasons, he might have felt threatened, or was being possessive, or at the moment is a bit stressed out with all the changes (a new baby on the way) that are happening. I'd seek the assistance of a qualified dog trainer, and yep get him desexed, as it will stop (after a little while) testosterone racing around in his body. The change won't be instant, but it should help.
Desexing costs depend on the vet, and are usually weight based. Neutering (males) is cheaper than spaying (females). At a rough guess (extremely rough!) I'd say about $100? Even just ring your local vet, they should be able to give you an estimate over the phone. Also check with your local council, some offer vouchers for desexing.
Bookmarks