When it is harvesting, it will harvest all nodes within the roam range you have set, regardless of how far it takes you off your path. Once it finds no more nodes, it will take the fastest path to the named spot you had setup. Lets say yo have 4 named locations:
Start
Spot 1
Spot 2
Finish
the bot moves to Start then begins to scan for nodes. Lets say these 4 are in a semi-circle as you had outlined, and as it scans and harvests from the Start spot, it travels almost all the way to Spot 2 without going through Spot 1. Now it finds no more nodes within your scan range. It will move along the fastest route back to the Next Spot in your list, which is Spot 1, before continuing on the rest of your path.
If you do not start marking areas to avoid, it will never stop trying to walk through them.
If there are walls, boulders, tents, etc. in the area you are harvesting, you really need to mark those areas to be avoided (Shift-F3 to turn on auto avoid and run around the obstacle). The bot will find a way around it if it can. Always run Harvest with the mapper on as well. The more points that are mapped, the easier and more natural the bot will operate.
It may be getting lost if you are not running the mapper while the harvester is running. The harvester can detect nodes outside of your path, if it happens to chain 2 nodes that take you more than your roam distance and it cannot find the path again, it will stop.
I hope this helps.