You have a switch from a database-backed IQueryable to in-memory filtering. After which call does the rest of the chain run as LINQ-to-Objects in the application process?
var result = db.Orders // IQueryable<Order>
.Where(o => o.Total > 50) // (A)
.AsEnumerable() // (B)
.Where(o => Expensive(o)) // (C)
.ToList();