So the following does the trick:
from c in db.Contacts
from co in c.Communities
where co.Deleted == false
select c
Its all in the navigation properties when your using LINQ to Entities so the join is happening at "from co in c.Communities". I think my confusion was I was using LinqPAD which uses LINQ to SQL
this link was helpful and made things clear for me:
http://peter.hahndorf.eu/blog/post/2010/12/31/UsingLinqInManytomanySelectScenarios