The biggest difference is that there is no Unmanaged API to the platform. Everything is C# (and i do mean C#, you can't make VB.NET project or C++/CLI /pure). Windows Mobile 6.5 was a lot like Windows CE API + WinMobileForms(.NET version) and you were able to write your own C++ code, where WP7 is a lot more restrictve.
At the moment there is a choice of either doing Silverlight apps or XNA Studio apps (gaming). Silverlight apps are based on Silverlight 3 spec and XNA studio API is a lot like Zune HD development environment.
One subtle difference between Phone and browser Silverlight is that Phone disables Reflection.Emit
API. This means no IL rewrite which is what most IoC containers, O/R frameworks like NHibernate and AOP (Aspect Oriented Programming) tools use.
As for your question about allocating custom amounts of space for image/sound processing. Yes, you will probably be able to do all that assuming that the system allows you to allocate the amount of space you need. The language should not restrict you in that sense, if there are any restrictions, they would be due to the platform, not the language. You should probably read up on game development using managed languages, as there are differences in approach compared to unmanaged languages.