При возникновении проблем с LINQ попробуйте разбить подзапросы на операторы IQueryable. Они не выполняются, пока вы не нажмете .ToList или не перечислите результаты, поэтому это хороший способ выделить логику запроса.
Однако в этом случае SQL-запрос слишком сложен:
var query = (from t in Product
join s in Product_UserQuestionaire on t.Product_ID equals s.Product_ID
where s.SpaceID != 7
select t.Product_ID).Distinct();