You get money for all the fish in your keepnet when you empty it, but you get experience for every fish you catch regardless of whether you keep them. You don't need to leave the lake/river to empty your keepnet. If your keepnet is full and you want to empty it, simply advance time to the next day.