Optimizing odds calculator
Basically, what you need is a Cartesian product of 7 sequences, each containing a 0 and a 1. Eric Lippert has an interesting article about doing just that using LINQ (note: I think you could make his code more efficient using immutable collections). If you use his method, your code could look something like:
var product = CartesianProduct(Enumerable.Repeat(new[] { 0, 1 }, games.Count));

foreach (var indexes in product)
{
    if (indexes.Sum() &lt; 4)
    {    
        winningOdds += indexes
            .Select((index, game) =&gt; games[game].Odds[index])
            .Aggregate((x, y) =&gt; x * y);
    }
}