Hi,
For .NET Agent, one common scenario is the known limitation recycling application pools when the new worker process for the recycled .NET application is already started up before the existing one for the same application is terminated to avoid potential down time. You can check if the timestamp in event viewer for application pool restart is right before the time stamp of the agent restart with %1 agent name.
If you have been hit by this known limitation I suggest you to open an enhancement/idea:
Regards,
Sergio