I have a collection of periods [FromDate, ToDate].
I would know whether there is any overlap between a given period and the periods in the collection.>
Do 2 periods having common date, say ToDate for period 1 and FromDate of period 2 are the same, count as in intersection ?
If yes then a little modification to your query to simply check the dates of a period if are within the checked period separately as if one of the dates falls inside a period then there is intersection:
bool conflict = Periods.Any(p => ((p.FromDate >= periodToCheck.fromDate &&
p.ToDate <= periodToCheck.fromDate)
||
(p.FromDate >= periodToCheck.toDate &&
p.ToDate <= periodToCheck.toDate))
);