In my case nsurlsessiond was using over 5MB/s of download bandwidth. I noticed this because web pages were loading very slowly, and thanks to the iStat Menus application in my Menu Bar.
I tried other methods to work out the source of the data usage, however I didn't find much useful information that wouldn't require further digging (and I didn't want to disable iCloud Backup or iCloud Photos).
The Activity Monitor application was able to provide me a quick overview of where the data was coming in and where it was going.
Open the Activity Monitor app and navigate to the Network tab, then sort by Rcvd Bytes and wait (the network tab only display cumulative results since you navigated to the tab). Here you will likely see nsurlsessiond topping the list.
Now navigate to the Disk tab in Activity Monitor and sort by Bytes Written. Ignoring kernel_task (which encapsulates a lot of functions and is rarely worth trying to debug), in my case Photos Agent was at the top of the list (which came as no surprise since I recorded a lot of video media on my iPhone the day before).
I deleted some recently captured media from my iPhone that I didn't need to keep, and waited a little while longer for the sync to complete, then the process settled down.
If you can't afford to wait for the process to settle down, and you don't need to use the Photos app, you can try stopping the process that triggers Photos Agent to sync photos from iCloud:
for i in com.apple.photolibraryd com.apple.photoanalysisd com.apple.cloudphotosd
do
launchctl stop $i
done