Repository: vscode
Issue: Workbench OOM on windows
Labels: bug,freeze-slow-crash-leak,windows

Got a dump file from @sbatten with the following stack

```
Operating system: Windows NT
                  10.0.26100 2161
CPU: amd64
     family 23 model 113 stepping 0
     24 CPUs

GPU: UNKNOWN

Crash reason:  Out of Memory
Crash address: 0x7ffe58f2831a
Process uptime: 47705 seconds

Thread 0 (crashed)
 0  KERNELBASE.dll!RaiseException + 0x8a
    rax = 0x00007ff61780183a   rdx = 0x0000000000000066
    rcx = 0x0000000000000001   rbx = 0x00000054511fbb80
    rsi = 0x0000000000000001   rdi = 0x00000000e0000008
    rbp = 0x0000000000000001   rsp = 0x00000054511fba60
     r8 = 0x0000f9169104cd24    r9 = 0x000001300e1e5c00
    r10 = 0x000001300699c0b8   r11 = 0x0000013014ab1d60
    r12 = 0x0000013015801060   r13 = 0x0000013015804000
    r14 = 0x0000000000000000   r15 = 0x00000000009ca000
    rip = 0x00007ffe58f2831a
    Found by: given as instruction pointer in context
 1  Code - Insiders.exe!static void partition_alloc::internal::OnNoMemoryInternal(unsigned __int64) [oom.cc : 37 + 0x16]
    rbx = 0x00007ff620b8dc38   rsi = 0x00000000009ca000
    rdi = 0x00000054511fbc70   rbp = 0x0000013015801020
    rsp = 0x00000054511fbb60   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182be6db
    Found by: call frame info
 2  Code - Insiders.exe!partition_alloc::TerminateBecauseOutOfMemory(unsigned __int64) [oom.cc : 64 + 0x5]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbb90   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182be6f9
    Found by: call frame info
 3  Code - Insiders.exe!partition_alloc::internal::OnNoMemory(unsigned __int64) [oom.cc : 74 + 0x8]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbbc0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182be715
    Found by: call frame info
 4  Code - Insiders.exe!static void WTF::PartitionsOutOfMemoryUsing16M(unsigned __int64) [partitions.cc : 342 + 0x8]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbbf0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61ce28631
    Found by: call frame info
 5  Code - Insiders.exe!static void WTF::Partitions::HandleOutOfMemory(unsigned __int64) [partitions.cc : 452 + 0x5]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbc30   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61ce283c4
    Found by: call frame info
 6  Code - Insiders.exe!partition_alloc::PartitionRoot::OutOfMemory(unsigned __int64) [partition_root.cc : 903 + 0x9]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbce0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182b8f64
    Found by: call frame info
 7  Code - Insiders.exe!static void partition_alloc::internal::`anonymous namespace'::PartitionOutOfMemoryCommitFailure(struct partition_alloc::PartitionRoot *, unsigned __int64) [partition_bucket.cc : 55 + 0xb]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbd60   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182be389
    Found by: call frame info
 8  Code - Insiders.exe!static struct partition_alloc::internal::SlotSpanMetadata * partition_alloc::internal::`anonymous namespace'::PartitionDirectMap(struct partition_alloc::PartitionRoot *, partition_alloc::internal::AllocFlags, unsigned __int64, unsigned __int64) [partition_bucket.cc : 411 + 0xb]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbda0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182bcf19
    Found by: call frame info
 9  Code - Insiders.exe!partition_alloc::internal::PartitionBucket::SlowPathAlloc(partition_alloc::PartitionRoot *,partition_alloc::internal::AllocFlags,unsigned __int64,unsigned __int64,partition_alloc::internal::SlotSpanMetadata * *,bool *) [partition_bucket.cc : 1343 + 0x10]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbe20   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182bc5b3
    Found by: call frame info
10  Code - Insiders.exe!partition_alloc::PartitionRoot::Alloc<0>(unsigned __int64,char const *) [partition_root.h : 515 + 0x2ee]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbf00   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff6182b827b
    Found by: call frame info
11  Code - Insiders.exe!WTF::StringImpl::CreateUninitialized(unsigned int,unsigned char * &) [string_impl.cc : 156 + 0xc]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fbfc0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a98eaa5
    Found by: call frame info
12  Code - Insiders.exe!static class WTF::String blink::ParkableStringImpl::UnparkInternal() [parkable_string.cc : 651 + 0x10]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc000   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61cf66f14
    Found by: call frame info
13  Code - Insiders.exe!blink::ParkableString::ToString() [parkable_string.cc : 1037 + 0x4c]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc0d0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a9ac893
    Found by: call frame info
14  Code - Insiders.exe!blink::ParkableStringResource8::data() [string_resource.h : 236 + 0x9]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc130   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61aad6aad
    Found by: call frame info
15  Code - Insiders.exe!v8::internal::ScannerStream::For(v8::internal::Isolate *,v8::internal::Handle<v8::internal::String>,int,int) [scanner-character-streams.cc : 878 + 0x143]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc160   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a2dbc4d
    Found by: call frame info
16  Code - Insiders.exe!v8::internal::parsing::ParseAny(v8::internal::ParseInfo *,v8::internal::Handle<v8::internal::SharedFunctionInfo>,v8::internal::Isolate *,v8::internal::parsing::ReportStatisticsMode) [parsing.cc : 105 + 0xac]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc1e0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a28f10e
    Found by: call frame info
17  Code - Insiders.exe!v8::internal::Compiler::Compile(v8::internal::Isolate *,v8::internal::Handle<v8::internal::SharedFunctionInfo>,v8::internal::Compiler::ClearExceptionFlag,v8::internal::IsCompiledScope *,v8::internal::CreateSourcePositions) [compiler.cc : 2630 + 0x16]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fc890   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a064916
    Found by: call frame info
18  Code - Insiders.exe!v8::internal::Compiler::Compile(v8::internal::Isolate *,v8::internal::Handle<v8::internal::JSFunction>,v8::internal::Compiler::ClearExceptionFlag,v8::internal::IsCompiledScope *) [compiler.cc : 2693 + 0x1e]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fcc00   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a066b24
    Found by: call frame info
19  Code - Insiders.exe!v8::internal::Runtime_CompileLazy(int,unsigned __int64 *,v8::internal::Isolate *) [runtime-compiler.cc : 45 + 0xa2]
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fccd0   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a31aa12
    Found by: call frame info
20  Code - Insiders.exe!Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit + 0x3a
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fcd50   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a77fefa
    Found by: call frame info
21  Code - Insiders.exe!Builtins_MapPrototypeHas + 0x3a
    rbx = 0x00007ff620b8dc38   rbp = 0x0000013015801020
    rsp = 0x00000054511fcd60   r12 = 0x0000013015801060
    r13 = 0x0000013015804000   r14 = 0x0000000000000000
    r15 = 0x00000000009ca000   rip = 0x00007ff61a74643a
    Found by: call frame info
```