I gave a presentation, called LINQ To SQL Tips & Techniques, at both the South Florida Code Camp 2009 and the Southwest Florida .NET Developers Group Meeting in Ft. Myers. A few of the tips had to do with LINQ To SQL performance.
While most developers know about the lazy-loading and eager-loading of collections, many of them are unaware of the fact that you can lazy-load and eager-load properties. This is great for those properties that are not used very often and contain large amounts of data that can get passed between your database and IIS Web Server. Think large images, XML files, etc.
If we pick on Northwind and the Categories Table, there is a Picture Property that contains binary data. Pretend this binary could be big and what a waste of time it would be to keep transferring this image data to the IIS Web Server if we never really used it much of the time.

If you choose the Picture Property there is an option in the Properties Window called Delay Loaded.

If you change that from the default of false to true, the _Picture Field in the Category Class changes from
private System.Data.Linq.Binary _Picture;
to
private System.Data.Linq.Link<System.Data.Linq.Binary> _Picture;
Link is a special type that is used to enable deferred loading of properties. This means that the actual binary data is not transferred to the web server until the _Picture field is actually accessed, which means you can get better performance by avoiding the transfer of the image data if typically unused.
Not a bad feature. For those who use SQL Server Management Objects, you will know that the delay loading of properties in SMO is quite common to provide better performance.
You can find other LINQ To SQL Tutorials.
Related Post: Quick Examples on LINQ To SQL Performance Tuning - Performance Profiling Your O/R Mapper
David Hayden