The frequency with which the licensing client calls home should be configurable per licence. The reason for this is that customers differ, & you should be able to easily tailor your solution to suit.
In some cases it might be alright to hit the server every time the app starts, but some customers (e.g. most financial institutions) might prefer that you never call out but just verify the licence.
Also, the licensing API you use should provide sufficient information to know whether the check failed because it couldn't see the server, or because the licence was invalid, expired or used up (in the case of multi-seat licences).
There are several reasons for this:
The user may have installed the software on a notebook which is not always connected to the Internet.
If your company should experience licence server downtime, you don't want to prevent existing installations of your software from running.
Obligatory disclaimer & plug: the company I co-founded produces the OffByZero Cobalt licensing solution. With it, you can configure how frequently each individual licence calls home, and create offline licences that never call home. It also returns detailed information about connectivity, meaning that you can allow your application run even if the licence server is temporarily unavailable.